吾爱KK的CM破文
首先不多说其他废话 记住KK 我的20CB啊 别后悔啊其实思路很简单的 只是KK你自己没注意罢了
首先运行软件 输入注册码 点击注册按钮 就退出 那么好办 下退出断点 直接去FF 25
0041A570 55 push ebp ////退出的段首 下F2断点
0041A571 8BEC mov ebp,esp
0041A573 8B45 08 mov eax,dword ptr ss:
0041A576 50 push eax
0041A577 B9 78324900 mov ecx,52kk.00493278
0041A57C E8 2F84FFFF call 52kk.004129B0
0041A581 8B4D 08 mov ecx,dword ptr ss:
0041A584 51 push ecx
0041A585 FF15 5C824600 call dword ptr ds:[<&KERNEL32.ExitProces>; kernel32.ExitProcess
0041A58B 5D pop ebp
0041A58C C3 retn
运行软件 直接输入假码 点击注册 直接退出 断在我们下F2断点的地方这时候我们看堆栈
0012FB64 00401223返回到 52kk.00401223 来自 52kk.00401290 ////这里右键----反汇编窗口跟随
0012FB68 00000000
0012FB6C 00000000
0012FB70 001FC0A8
0012FB74/0012FB7C
0012FB78|004010F5返回到 52kk.004010F5 来自 52kk.00401196
004011F0 837D F8 00 cmp dword ptr ss:,0x0 ////这是比较ebp-8是否为0 刚好je跳 那么就是相等 我们改1即可
004011F4 0F84 22000000 je 52kk.0040121C ////跟上去就是这个跳跳到了退出 NOP即可
004011FA 6A 00 push 0x0
004011FC 68 01000000 push 0x1
00401201 6A FF push -0x1
00401203 6A 05 push 0x5
00401205 68 AE190116 push 0x160119AE
0040120A 68 01000152 push 0x52010001
0040120F E8 82000000 call 52kk.00401296
00401214 83C4 18 add esp,0x18
00401217 E9 0A000000 jmp 52kk.00401226
0040121C 6A 00 push 0x0
0040121E E8 6D000000 call 52kk.00401290
00401223 83C4 04 add esp,0x4 ////首先是停在这 然后就是上面的call调用的退出
00401226 8BE5 mov esp,ebp
00401228 5D pop ebp
00401229 C3 retn
就是如此简单 就怪扣扣搞退出 这是你自己白送我20CB的
其实不管他如何验证 只需要把握住关键点 就能找到他的关键 你妹妹最近可好。。。我一定会写一个难倒你的! 盘大的方法我还是没学会..诶 挖 不错的方法 学习了。 好吧,现在在抓紧学习开发语言,只能向K大学习了。 扣扣神牛CB很多,尽管拿,顺便菜鸟我学习学习。 不倒翁先生 发表于 2013-7-25 13:34 static/image/common/back.gif
盘大的方法我还是没学会..诶
断下退出就可以找到关键跳啦 1354669803 发表于 2013-7-25 13:30 static/image/common/back.gif
其实不管他如何验证 只需要把握住关键点 就能找到他的关键
把关键跳je改成jnz为啥就不行呢?是验证好几遍嘛?
948413534 发表于 2013-7-25 14:57 static/image/common/back.gif
把关键跳je改成jnz为啥就不行呢?是验证好几遍嘛?
时钟验证啦
页:
[1]
2