- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 三年级下册科学课件 第三单元第1课仰望星空 教科版 13张.ppt
- 旧屋面翻新防水施工工艺方案.pptx
- 高等教育法规概论(详细).pdf
- 6.3.3 平面向量加、减运算的坐标表示(同步课件)-2024-2025学年高一数学(人教A版2019必修第二册).pptx
- GB30871-2022 危险化学品企业特殊作业安全规范.pdf
- 2024内蒙古科技职业学院教师招聘考试笔试试题 .pdf VIP
- 工业互联网标识解析应用案例汇编集(2021年).pdf VIP
- 2013款长安福特蒙迪欧致胜_汽车使用手册用户操作图解驾驶车主车辆说明书电子版.pdf
- 2024临沂科技职业学院教师招聘考试笔试试题.docx VIP
- 车辆维修保养知识课件PPT.pptx
文档评论(0)