拿去爆破吧 [C++]
失败提示:fail
成功提示:success
建议:千万不要追码!
本帖最后由 lkou 于 2011-7-5 13:50 编辑
00401E25和00401A68 NOP掉
回复 lkou 的帖子
lkou师傅好牛逼啊。。 郁闷啊,我跟了很久也!鄙视~~~
回复 lkou 的帖子
lkou 神牛,说下你的思路找不到字符串你是怎么日的? ....我靠,竟然去找字符串....疯了疯了... 回复 Kris 的帖子
求方法,你是怎么跟到的。 不知道为啥米,发现连续破解你那么多的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
你这个带pause的,自己看吧,具体不解释了。
页:
[1]