浅谈软件的破解与保护

浅谈软件的破解与保护

ID:26859054

大小:51.50 KB

页数:5页

时间:2018-11-29

浅谈软件的破解与保护_第1页
浅谈软件的破解与保护_第2页
浅谈软件的破解与保护_第3页
浅谈软件的破解与保护_第4页
浅谈软件的破解与保护_第5页
资源描述:

《浅谈软件的破解与保护》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浅谈软件的破解与保护论文关键词:知识产权,软件加密,软件破解论文摘要:保护知识产权,抵制盗版软件,是目前中国软件业所面临的迫切问题。目前绝大多数软件都采取了加密技术来应对,本文分析了软件破解中几个重要的专业术语和常见的软件破解方法,并具体介绍了软加密和硬加密技术。1、引言开发软件时,尤其当用到商业用途时,注册码和激活码是非常重要的,未注册的用户会加上某些限制,如使用天数,延迟,未注册画面等等。但是现在的软件破解技术十分强大,各种国内外大型软件都有注册机制,却同时也不断地被破解,国家一再加大力度,打击非法软件出版物,扶持正版软件,但实际效果并不理想。大多的软件商选择了购买加密产品或者加

2、密技术来保护自己的软件,软件保护一般分为软加密和硬加密。2、常见的软件破解方法首先我们来了解一下破解中几个重要的专业术语。(1)断点,所谓断点就是程序被中断的地方,中断就是由于有特殊事件发生,计算机暂停当前的任务,转而去执行另外的任务,然后再返回原先的任务继续执行。解密的过程就是等到程序去获取我们输人的注册码并准备和正确的注册码相比较的时候将它中断下来,然后我们通过分析程序,找到正确的注册码。(2)领空,所谓程序的领空,就是程序自己的领土地盘,也就是我们要破解的程序自己程序码所处的位置。每个程序的编写都没有固定的模式,所以我们要在想要切人程序的时候中断程序,就必须不依赖具体的程序设置

3、断点,也就是我们设置的断点应该是每个程序都会用到的东西。LOcalHOsT(3)api,即applicationprogramminginterface的简写,我们叫应用程序编程接口,是一个系统定义函数的大集合,它提供了访问操作系统特征的方法。api包含了几百个应用程序调用的函数,这些函数执行所有必须的与操作系统相关的操作,如内存分配、向屏幕输出和创建窗口等,eserialnum-ber()函数取得设备硬盘的卷标号,其次编写publicstaticstringgetcpu()函数获得cpu的序列号,最后生成机器码,函数如下:stringnumber;stringpublicstati

4、cstringgetsoftnum(){strnum-=getcpu+getdiskvolumeserial-strsoftnum=strnum.substring(0,24);//从生成的字符串中取出前24个字符做为机器码returnstrsoftnum;}第二步根据机器码生成注册码,需要编写publicstaticstringgetregistnum()函数来实现。第三步。检查注册状况,若没有注册,可自定义试用天数,延迟,未注册画面等等,可编写privatevoidcheckregist0cpl数来实现。3.2软加密。所谓软加密就是不依靠特别硬件来实现的对软件的保护技术。当前国际

5、上比较通用的软件都采取软加密的方式,例如微软的windows系统、杀毒软件等,它的最大优势在于极低的加密成本。目前主要有密码法、计算机硬件校验法、钥匙盘法等。目前比较流行的是使用外壳,外壳分为压缩壳和加密壳,其中压缩壳的保护性比较弱,所以一般采用加密壳,其原理是利用堆栈平衡原理,修改程序人口处代码,使其跳转到壳代码执行解密程序,将原程序代码解密后跳回原程序的oep继续执行。目前比较强的加密壳采用的是动态解密代码、smc,iat加密技术,程序在运行过程中动态解密代码,执行完毕后立刻删除,并且对iat加密,当需要调用api时用解密算法算出api的实际地址来调用,更有甚者,壳里有壳。目前常

6、见的比较强的5大壳有:(i)encryptpe,其特点是对iat加密比较强,(2)asprotect,其特点是采用多层seh,很容易把人转晕,(3)acprotect,其特点是采用stolencode的办法,(4)armadillo,其特点是双进程互相检测,(5)themida,其特点是采用虚拟机技术。好的加密效果在于让盗版者在破解被保护的软件时,付出巨大的代价,耗费极大的时间精力,最终被迫放弃攻击。3.3硬加密。硬加密就是我们所说的加密狗或加密锁,是一种插在计算机usb口或并口上的软硬件结合的加密产品,目前绝大部分都是usb口形式,是基于硬件保护技术,其目的是通过对软件与数据的保护

7、防止知识产权被非法使用,是保证高档软件在市场生命周期中免受盗版侵害的功能强大的工具。加密狗一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。软件开发者可以通过接口函数和软件狗进行数据交换,来检查软件狗是否插在接口上。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写人单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如dcon

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。