示例图片三

新闻资讯

联系方式

加密狗复制克隆网
电  话:13528540969
联系人:  刘先生
Email:4642967@qq.com
网  址:www.crackdongle.com
地  址 :广东省深圳市地王大厦38层8801号

当前位置: 网站首页 > 新闻资讯 > 业界资讯
业界资讯

反DEBUG解密的编程方法和技巧

访问狗之后不要立即做判断,判断狗不正确后,不要立即提示,或者不提示。开发商在程序各个部分插入校验算法的代码,用以增加程序代码的复杂性,防止解密者轻易跟踪发现全部的校验代码。校验代码插入程序的频率越高,破解难度越大,软件就越安全。
  重要的字符串不要在程序中以明文出现,应该使用算法动态生成。
     在不影响程序效率的情况下,尽量多写一些查狗的函数,彼此要有区别,使用不同的算法,多一些查狗出错的标志,让这些标志参与运算,在不同的模块中,使用不同的查狗函数。
     针对某一具体查询校验,都有三步骤组成:查询得到响应串;比较响应串和查询串是否匹配;根据校验结果执行相应的步骤。建议三个步骤要延时执行。最好将三步骤相互远离些,甚至放到不同的子程序或函数中。例如:执行查询得到响应串后,相隔50行执行比较响应串和查询串是否匹配,假如程序需要调用一个函数。那么就在这个函数里执行执行相应的步骤。解密者在跟踪过程中,即使发现了其中一部分程序代码,但很难发现另外两部分代码和全部三部分之间的关联。程序难于被破解。
     将加密锁返回的响应串作为程序中的参数使用。例如:算法单元返回响应串“87611123”,而程序中需要使用“123”这个参数。程序中得到响应串后,将响应串减去“87611000”得到参数。如果解密者修改代码跳过查询校验加密锁部分,参数将是错误值,从而会使程序运行紊乱。
     程序在验证加密算法过程中,一般情况下验证数据不正确程序就会选择退出。这样一来很容易被解密者发现代码特征,跳过查询校验部分。开发商设计查询校验部分时,如果程序校验数据不正确,程序也不退出可以继续执行一些无用的操作使程序紊乱,用以隐蔽代码迷惑解密者。
     开发商的软件可能有多个模块,查狗的模块或接口不要用显而易见的名字来命名,这样会令解密者更容易找到加密点,当然也可以利用一些名字来迷惑解密者,尤其是dll,引出函数时甚至可以不用函数名。
     给查狗函数加入一定的随机性,例如,随机地执行某一API函数,或者在狗的存储区中划定一小块区域作随机读写,读写地址、读写内容、读写长度都是随机取的,这样可以很好地防止那些模拟工具。
     试用版与正式版要分开,试用版不提供的功能,代码已经删掉,使得不可能利用试用版破解得到正式版。
     在大多数情况下,破解是通过更改exe dll 文件实现的,要在程序中检查exedll文件的完整性,即利用某种算法计算出整个文件的校验和,在程序中比较,如果文件被更改,校验和就会变化,这类算法网上有很多,可以查得到。另外,exedll之间要相互认证,一方面防止dll被替换,另一方面防止非法exe访问dll
  小结:应该尽量避免的问题
  1)访问狗、做判断、提示用户写在一起
  2)重要的字符串在程序中以明文出现
  3)在狗中存放字符串,程序中读出比较
  4)调用同一函数或判断同一个全局标志查狗
  5)试用版软件同正式版软件是同一份
  6)查狗的模块或接口名字太明显
  7)程序无随机性,每次运行执行路径都一样
  8)没有检查exe dll 文件的完整性,exe dll 之间也没有相互认证

分享到:
点击次数:  更新时间:2018-05-04 13:54:17  【打印此页】  【关闭