新手破解练习Crackme160之046 - douby (需要自己补代码)

运行程序 看到整个程序只有一个菜单和一个编辑框, 菜单中有load save字样, 说明这个应该是一个类似记事本的东东吧, 各个菜单点过去都提示未实现, 说明作者应该是让我们实现菜单对应的功能吧, 通过IDA分析可知, 各个功能代码应该都是实现好的, 只要菜单对应功能调用一下对应程序块
点菜单的三个按钮都会弹出一个同样的提示框, 按暂停键, 在内存右侧信息框中定位到0040120D(向下翻, 找到第一个douby.xxxxx), 上一行就是提示框的代码, 我们在004011FA处下断点, 看三个按键是否有什么不同~, 经测试可得到, eax=0x0是Load按钮, eax=0x2是Exit按钮, eax=0x4是Save按钮, 接下来, 我们分别寻找这三个按钮对应的事件代码入口

  1. Exit, 先来最简单的退出, 我们点关闭, 程序停在ntdll模块的retn, 在堆栈界面中看到调用退出模块的方法是0040142C, 到此退出方法我们就找到了, 其实在IDA中能直接找到_exit事件代码入口就是0040142C
  2. Load, 这个没找到, 应该要自己写代码
  3. Save, 这个也没找到, 也应该是要自己写代码补充完整
    所以004011FA ~ 0040120C 对应改为
004011FA   > \83F8 02       cmp eax,0x2   	; 退出
004011FD   .  0F84 29020000 je douby1.0040142C		; 实现了退出
00401203   .  83F8 00       cmp eax,0x0		; 加载
00401206      90            nop		; 未实现加载
00401207      90            nop
00401208      83F8 04       cmp eax,0x4		; 保存
0040120B      90            nop		; 未实现保存
0040120C   .  90            nop

 
 
 
这是160个软件part1
这是160个软件part2

1~160每个破解过程,在吾爱破解论坛都有高手破解过了,也有整理好现成的, 我这边主要就是自己动手操作的过程,与他们的不太一样
附上高手们的连接: 点击前往查看
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

新人入门教程"玩玩破解,写给新人看" 点击前往查看
我就是从这里开始的,对我这样的小白感觉超级友好~

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-09-02 16:41  hankerstudio  阅读(39)  评论(0)    收藏  举报