明次 发表于 2011-7-5 13:31

拿去爆破吧 [C++]



失败提示:fail
成功提示:success

建议:千万不要追码!

lkou 发表于 2011-7-5 13:44

本帖最后由 lkou 于 2011-7-5 13:50 编辑

00401E25和00401A68 NOP掉

Sloth 发表于 2011-7-5 14:45

回复 lkou 的帖子

lkou师傅好牛逼啊。。

Kris 发表于 2011-7-5 20:09

郁闷啊,我跟了很久也!鄙视~~~


明次 发表于 2011-7-5 20:27

回复 lkou 的帖子

lkou 神牛,说下你的思路找不到字符串你是怎么日的?

Kris 发表于 2011-7-5 21:00

....我靠,竟然去找字符串....疯了疯了...

Sloth 发表于 2011-7-5 21:04

回复 Kris 的帖子

求方法,你是怎么跟到的。

Kris 发表于 2011-7-5 21:56

不知道为啥米,发现连续破解你那么多的CM都存在一个特点
1.bp kernel32.ReadFile
2.运行
3.中断在ReadFile后如图所示

4.跳到调用位置,4398D5,并在这里下断点
5.删掉ReadFile的断点,继续运行
6.随便输入任何password,然后按下回车
7.马上中断在4398D5处
8.注意ESI的值,481F20,ASCII "2222222"
9.数据窗口跟随,481F20下内存访问断点,然后继续运行
10.我没有更好的办法,F8慢慢跟...
11.发现执行完00401E59   .E8 29F2FFFF   call CM_6.00401087的时候出现fail
12.看到上面的00401E45   > \83EC 10       sub esp,0x10,跳转来自 00401E25
13.很好,00401E25   /75 1E         jnz XCM_6.00401E45应该就是关键跳的,我们重新载入,NOP掉,运行看,发现什么都没有输出,也没有输出Success
14.我们重新载入,继续NOP掉,然后在00401E27   .83EC 10       sub esp,0x10下断,运行,随意输入
15.中断后,我们F7走吧,
(1)00401E33   .E8 0BF5FFFF   call CM_6.00401343没有问题
(2)00401E3B   .E8 D4F1FFFF   call CM_6.00401014   当到这个函数里面的时候,发现有一句00401A68   . /75 6E         jnz XCM_6.00401AD8,很明显,NOP掉即可
16.保存运行,发现已经破解成功了,至此结束

总共修改两处
401A68,401E25

lkou 发表于 2011-7-5 21:58

你这个带pause的,自己看吧,具体不解释了。
页: [1]
查看完整版本: 拿去爆破吧 [C++]