OD破解程序自校验之bp CreateFileA
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
程序PEid查壳,显示为 UPX-Scrambler RC1.x,OD载入,两次查找pushad,下断,运行,直接跳到OEP 我们修复输入表后,再次用PEid查看,用vc++ 6.0所写,但是程序打开后,显示图片后就退出了,程序使用了自校验防止被破解。我们同时用OD打开脱壳前(运行至OEP)和脱壳后的程序,然后同时下段 bp CreateFileA F9运行,程序运行后被断了下来,我们看看堆栈窗口,程序是在读取自己 Alt+F9返回程序领空,我们两边同时单步跟踪,重点注意程序的跳转的实现与否是否一致。在地址0041C094处,我们发现脱壳后的跳转实现了,而脱壳前的跳转没有实现,如图下 我们分别查看脱壳前后的eax值,将其转化为10进制后,我们发现其为程序本身的大小(字节数)。也就是说,程序把自身的大小和835b8进行比较,如果大于则条转实现。脱壳后,程序变大,导致跳转实现,所以我们将835b8改为比008EC000(脱壳后程序的大小)更大的值即可。经测试,程序正常运行。 该文章在 2014/4/10 11:07:09 编辑过 |
关键字查询
相关文章
正在查询... |