您当前所在位置:首页 > 论文 > 计算机论文 > 计算机理论

谈软件的破解与保护研究

编辑:

2014-04-14

2.4补丁破解法和文件注册法。补丁破解法是指用相关的补丁程序来修改软件,以达到破解软件的目的。此方法一般是破解软件的验证注册码或时间,基本上都是修改原程序的判断语句。比如程序试用期是一个月,就可以把这个修改掉,来达到无限使用的目的。文件注册法就是把软件的注册内容放到一个文件里,以方便自己或别人用它来注册,主要有注册表导人和注册文件导人两种方式。3、常见的软件保护方法

3.1注册码。软件的注册码一般都是一机一个,不能重复。下面我们来看看如何实现的。

第一步根据硬盘卷标和CPU序列号,生成机器码,首先编写public static string GetDiskVolumeSerialNum-ber()函数取得设备硬盘的卷标号,其次编写public static string getCpu()函数获得CPU的序列号,最后生成机器码,函数如下:

String Number; String public static string getsoftNum()

{strNum-=getCpu+GetDiskVolumeSerial-strsoftNum=strNum.Substring(0, 24);//从生成的字符串中取出前24个字符做为机器码return strsoftNum; }

第二步根据机器码生成注册码,需要编写public static string getRegistNum()函数来实现。

第三步。检查注册状况,若没有注册,可自定义试用天数,延迟,未注册画面等等,可编写private void CheckRegist0 Cpl数来实现。

3.2软加密。所谓软加密就是不依靠特别硬件来实现的对软件的保护技术。当前国际上比较通用的软件都采取软加密的方式,例如微软的windows系统、杀毒软件等,它的最大优势在于极低的加密成本。目前主要有密码法、计算机硬件校验法、钥匙盘法等。目前比较流行的是使用外壳,外壳分为压缩壳和加密壳,其中压缩壳的保护性比较弱,所以一般采用加密壳,其原理是利用堆栈平衡原理,修改程序人口处代码,使其跳转到壳代码执行解密程序,将原程序代码解密后跳回原程序的OEP继续执行。目前比较强的加密壳采用的是动态解密代码、SMC , IAT加密技术,程序在运行过程中动态解密代码,执行完毕后立刻删除,并且对IAT加密,当需要调用API时用解密算法算出API的实际地址来调用,更有甚者,壳里有壳。目前常见的比较强的5大壳有:( I ) EncryptPE,其特点是对IAT加密比较强,( 2 ) ASProtect,其特点是采用多层SEH,很容易把人转晕,( 3) ACProtect,其特点是采用stolen code的办法,( 4 ) Armadillo,其特点是双进程互相检测,(5)themida,其特点是采用虚拟机技术。好的加密效果在于让盗版者在破解被保护的软件时,付出巨大的代价,耗费极大的时间精力,最终被迫放弃攻击。

标签:计算机理论

免责声明

精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。