网站大量收购独家精品文档,联系QQ:2885784924

CRC在软件加密中的应用_2.pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CRC在软件加密中的应用_2

首先,您要准备一些工具:Ollydbg1.10、DeDe、Peid全能插件版,也许还需要 PE-tools1.50。这些软件您可以在网上很轻松的找到,如果没有可以与我联系。 第一步:检查 Peid是目前最流行,也是比较完善的检测软件。可以检测软件是否加壳,使用 了什么编译器等诸多信息,同时其丰富的插件可以完成许多扩展功能。现在,我们先 用Peid检测crctest.exe,查看程序的基本信息(如图): Peid显示软件是用“Borland C++ 1999”版的编译器进行编译的,其实一般情况 下,用BCB编译的程序也会显示为用“Borland C++ 1999”编译。我们再用其中的插件 “Krypto ANALyzer”,来分析程序中是否有通用的加密算法。 1 我们可以看到,程序使用了CRC-32算法: ◆这里想告诉大家的是,Krypto ANALyzer是使用查询数组(码表)来确定软件 使用了什么算法,而软件使用动态生成数组(码表)的话,它是无法检测出算法来的。 呵呵,这也是它的漏洞了。你可以程序中保存一个其它算法的码表来混淆检测器。 (crctest.exe中就定义了一个CRC32的数组,但我们并没有使用它,而是使用了动 态生成的码表) 2 第二步:分析 了解软件没有加壳,而且可能是由BCB编译的之后,我们就要着手分析了。针对 Borland公司出品的Delphi和BCB编译器所生成执行程序,可以使用DeDe反编译器 进行分析,它可以很好的恢复程序的原始代码信息。 下面就是用DeDe将crctest.exe载入后的效果界面: 现在我们切换到“过程”页面,选择“main”单元: 上图中红线框中是我们感兴趣的地方,当按下“注册”按钮时,这个事件会被调用。 双击这个事件,我们就可以看到这个事件的汇编代码: 3 在其中显示的汇编代码已经被DeDe处理过,对标准的函数调用已经进行了 注释,其可读性很好。00401C90这个地址就是这个事件函数的入口点,如果您 有一些基本功,可以认真分析一下。您也许可以看出关键的代码。不过,下面我们要 进入动态调试了! 第三步:调试破解 在检测和分析的基础上,我们可以开始动态调试了。我要用动态的数据来解释破 解的思路与过程。现在,请打开Ollydbg动态调试器,将crctest.exe载入,停在程 序的入口处。 按Ctrl+G,输入00401C90,直接定位到“注册”按钮的点击事件函数入口处,并 按F2下断点。 接下来,可以按F9运行程序,进入调试,然后在窗口中,随便输入注册名和注 册码,点击“注册”按钮,程序将会中断在00401C90处(如下图): 4 不断按F8单步运行,其间您可以看到许多的数据在变化,不用管它,一直按F8 运行,直到显示注册错误的信息框,再看运行的状态: 可以看到,在运行 00401FDF这个地址的时候,软件显示了注册错误的信息框。 显然这个call 00468C08指令就是显示信息框的函数。我们只要找到调用这个 5 Call的调用(有点绕舌),就可以找到关键点了。大家向上回溯代码可以看到下面 的内容: 我们将汇编代码提取出来如下: =========================== /*401F65*/ lea edx, [local.2] /*401F68*/ lea eax, [local.4] /*401F6B*/ call crctest.00468DA0 //对比注册码是否正确 /*401F70*/ test al, al /*401F72*/ je short crctest.00401FC7 //如果不正确就跳走 /*401F74*/ mov eax, dword ptr ds:[46EF94] /*401F79*/ push 40040

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档