1.了解动态分析软件基本功能;
2.了解动态分析软件破解程序基本方法;
3.熟悉 OllyDbg 使用。
本实验提供了一种破解程序的简单方法。针对不同的软件保护方法,会有很多更复杂分
析方法,而这些都必须在熟悉OllyDbg使用的情况下才能实现。在实验过程中还要重点熟悉
OllyDbg功能和使用。建议该实验课时为2个学时。
Pentium Ⅲ、600 MHz 以上 CPU,128M 以上内存,10G 以上硬盘,安装 Windows XP 以上
操作系统,动态分析软件 OllyDbg1.09 调试器。
A.现代汉语词典软件的破解
1.安装实验目录中的现代汉语词典软件。
2.用工具软件PEid查找该软件的壳以及编程语言、入口等信息。然后进行脱壳处理。
3. 执行OllyDbg.exe文件,在OllyDbg窗口上选择“文件(File)”|“打开(Open)”,
输入调试的主程序。
4.用OllyDbg查找在注册时出现的错误提示信息,根据提示信息查找关键Call和关键跳
转指令的位置。
5.单步执行查找内存中保存的注册码等信息。或对程序的指令代码进行修改;或用
Keymake制作注册机。
B.普通注册软件的破解
对本目录中的Cycle,利用上述工具进行跟踪和破解。
4.1方法一
首先初次打开汉语词典,进行注册,无法成功
接着用PEid查找该软件的壳以及编程语言、入口等信息。进行脱壳处理
重启词典,此时仍然无法注册成功
接着打开OllyDbg软件,点击文件打开该应用(现代汉语词典),点击运行
点击插件,点击超级字串查找,点击查找ASCll,查找“注册失败”,结果如下图所示
点击设置断点,再次运行
得到下图所示ASCLL值
0018FBC4 00259840 ASCII “050”
0018FBC8 0025AAD4 ASCII “73056354”
0018FBCC 0025AB24 ASCII “36m5w125}f3989”
0018FBD0 00259820 ASCII “050”
0018FBD4 0025AB40 ASCII “836m5w125}f3989”
0018FBD8 0025980C ASCII “123456”
0018FBDC 002597FC ASCII “050”
0018FBE0 002350D8 ASCII “123456”
将这些值逐个代入,最终破解得到正确的注册码为:
836m5w125}f3989
成功破解
4.2方法二
与方法一同理,先查找“注册失败”,得到如下汇编语言代码
找到其所对应的“JNZ”代码,双击删除其中的“N”
复制到所有修改,接着保存文件,保存为Unpacked050
运行该软件
点击软件注册,输入任意的注册码都直接可以使用,破解成功
通过这次实验,对网络安全的重要性有了更进一步的了解,通过破解注册码意识到了软件也是有缺陷的,需要我们时刻做好软件的安全保护工作。在实验过程中也遇到过一些问题,但在后续的学习中通过互相讨论与通过互联网工具查询相关知识,不断的学习解决该问题,这为我们后续的信息安全技术的学习打下了很好的基础。