vb 共享软件防破解设计技术初探(二)

vb 共享软件防破解设计技术初探(二)

ID:20728219

大小:1.40 MB

页数:41页

时间:2018-10-15

vb 共享软件防破解设计技术初探(二)_第1页
vb 共享软件防破解设计技术初探(二)_第2页
vb 共享软件防破解设计技术初探(二)_第3页
vb 共享软件防破解设计技术初探(二)_第4页
vb 共享软件防破解设计技术初探(二)_第5页
资源描述:

《vb 共享软件防破解设计技术初探(二)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VB共享软件防破解设计技术初探(二)作者:爱琴海[SCG]2008/09/06(转载请保留该信息)上个篇我粗略的讲了以下几个内容:1、文件完整性,防止被非法修改2、运行时的校验,防止被LOADER3、反调试,防止动态跟踪和挂接4、防静态反汇编分析5、注册码系统(算法部分,核心内容)6、加壳防脱壳7、隐蔽性设计8、另辟蹊径列表在这里是为了提醒初学VB发布共享软件的朋友,在设计VB防破解的时候,不要出现“水桶效应”,也就是说,设计如水桶,任何一个角落缺失都将导致无法全部盛满水。而这个水桶的捆圈恐怕就是保护文件完整性,防止修改了。周末了,今天有点时间。赶快写好,等下吃

2、晚饭,练练琴,然后陪陪女朋友。接下去,我们将开始具体至微的讲解第1、2两个内容,剩下的老规矩:日后有空,有时间,有精力,有能力的话接着写。1、文件完整性,可采用CRC32或者MD5或者哈希算法等,计算出文件的加密值,在适当的时候进行对比,判断文件被修改与否。当然那也可以加猛壳来防止文件非法修改。还有简单点的检查文件最后修改时间,看看是否是你自己设置好的时间,如果不是,则很有可能被修改过;也可以检测文件大小,往往压缩壳被脱掉后,文件的大小会增加;保护壳被脱掉后,文件大小会变小,我们可以根据这个设置好临界值来检测有没有被脱壳。常用的还有故意设计好关于算法方面的陷阱,

3、如果是破解者会主动掉进你的陷阱,而事实上,这个跳转除非爆破,不然在算法上是永远也无法到达的,这样就检出破解者在修改程序流程。你可以无声无息的程序死掉,不要直接退出,不然会被追踪到退出函数。还有内存镜像校验,是为了防止普通的修改内存和普通断点问题。我们就具体演示3种VB程序的完整性校验设计。第一种是VB的CRC32自校验设计,包含过程,代码和所有工程文件及演示;第二种是VB程序的时间检测法则,包括过程,代码和所有工程文件及演示;第三种是VB程序的文件大小检测法则,包括过程,代码和所有工程文件及演示。其实还有些检测的办法,但是原理跟我们即将大曝光的三种办法差不多,都

4、是衍生的吧。第二章第一讲VB的CRC32自校验设计来来来…大家跟我一起做运动,抖抖手啊,抖抖脚啊,做做深呼吸,本讲将会有点长,力求做到简单明了,容易明白,学完马上上手,学会应用的要求,我会具体点讲,不会像某些高人敝帚自珍,当然如果有错误的地方还请大家多多帮忙纠正,谢谢首先来简单复习下何谓CRC32CRC校验实用程序库在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。在诸多检错手段中,CRC是最著名的一种。CRC的全称是循环冗余校验,其特点是:检错能力极强,开销小,易于用编码器及检测电路实现。从其检错能力来看,它所不能发现的错误的几率仅为0.0

5、047%以下。有查表和计算法,我们可以在程序中自动生成码表来查表计算,方便和快速为了快速带过原理笔墨,节省点时间吃饭,我把网路上的一篇介绍《探究CRC32算法实现原理》引述过来,原文地址:http://www.diybl.com/course/6_system/linux/Linuxjs/200881/134331.html#以下是引用部分——————————————————————————————基于不重造轮子的原则,本文尽量不涉及网络上遍地都是的资料。What'sCRC?简而言之,CRC是一个数值。该数值被用于校验数据的正确性。CRC数值简单地说就是通过让你

6、需要做处理的数据除以一个常数而得到的余数。当你得到这个数值后你可以将这个数值附加到你的数据后,当数据被传送到其他地方后,取出原始数据(可能在传送过程中被破坏)与附加的CRC数值,然后将这里的原始数据除以之前那个常数(约定好的)然后得到新的CRC值。比较两个CRC值是否相等即可确认你的数据是否在传送过程中出现错误。那么,如何让你的数据除以一个常数?方法是对你的数据进行必要的编码处理,逐字节处理成数字。那么这个常数是什么?你不必关注它是什么,也不需要关注它是如何获得的。当你真的要动手写一个CRC的实现算法时,我可以告诉你,CRC的理论学家会告诉你。不同长度的常数对应

7、着不同的CRC实现算法。当这个常数为32位时,也就是这里所说的CRC32。以上内容你不必全部理解,因为你需要查阅其他资料来获取CRC完整的理论介绍。ThemathematicsbehindCRC?很多教科书会把CRC与多项式关联起来。这里的多项式指的是系数为0或1的式子,例如:a0+a1*x+a2*x^2+...+an*x^n。其中a0,a1,...,an要么为0要么为1。我们并不关注x取什么值。(如果你要关注,你可以简单地认为x为2)这里把a0,a1,...,an的值取出来排列起来,就可以表示比特流。例如1+x+x^3所表示的比特流就为:1101。部分资料会将

8、这个顺序颠倒,这个很正常

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

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

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