OllyDbg 使用笔记 (十五)
时间:2022-03-13 23:26
OllyDbg 使用笔记 (十五)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
示例程序下载地址:http://pan.baidu.com/s/1i3rCVmH
exescope下载地址:http://pan.baidu.com/s/1eQqxha6
图片2
exescope查找到nag窗口的hinstance
可以知道nag窗口的hinstance是103(10进制),16进制就是0x67
用OD加载程序,右键-->查找-->所有命令 搜索push 0x67,
可以搜索到一处push 0x67,可以发现此处的代码正是调用nag窗口的代码
图片2
但是观察前后代码没有发现 有关跳转的代码。我们需要查看调用此处的代码。
查找调用此处的代码的方法有多种
可以发现绿色框框中即是
绿色方框内即是 调用此处代码的call的后一个命令的地址。
选中它,选中 右键-->反汇编窗口中跟随,即可来到调用此处代码的call。
可以发现绿色框框中即是
绿色方框内即是 调用此处代码的call的后一个命令的地址。
选中它,选中 右键-->反汇编窗口中跟随,即可来到调用此处代码的call。
选中函开始的代码 push ebp,右键--> 查找参考-->选中命令,即可看到调用这个函数的call。
找到的call
图片5
观察前后代码,可以发现 jnz short 004023F6 很关键,它可以跳过 call 00401220。在看看jnz short 004023F6前面的代码
call 00403E18也非常大关键,00403E18函数有能就是判断是否注册的代码,进入00403E18,查看代码
图片6
把mov eax, dword ptr [ebp-4] 跟 mov eax, dword ptr [eax+2C] 改成mov eax,1 ,保存到程序。重新运行改后的程序,可以发现已经被破解。