首页
社区
课程
招聘
[旧帖] [求助](NAG)窗口去除的crackme 已解决 0.00雪花
2008-4-6 00:40 5399

[旧帖] [求助](NAG)窗口去除的crackme 已解决 0.00雪花

2008-4-6 00:40
5399
前进的道路上又碰墙了... 怎么去这个的NAG窗口?我找了半大天也没头绪的,利用教程里给MessageBoxA下断了,但是怎么也去不掉(按照那个三言两语的改ASM到是可以去掉,但是没详细的过程),有哪位师傅可以不惜休息帮我弄个详细的破解说明...小弟在此万分感谢了
教程是这样的:此程序在开始运行有NAG出现,退出时也会出现。
在SOFTICE下命令:
bpx messageboxa
开始运行程序,立即将中断,此时按F11将看到NAG。(不要按F5,不然你点OK将不会中断),F11的含义:执行到返回地址(^G @ss:sp;) 然后按OK,将再次中断返回SOFTICE。如下:
* Reference To: user32.MessageBoxA, Ord:0000h
                                  |
:0043EFDE E87572FCFF              Call 00406258
:0043EFE3 33D2                    xor edx, edx---你将落在此
:0043EFE5 8B83C8020000            mov eax, dword ptr [ebx+000002C8]
:0043EFEB E8A82EFEFF              call 00421E98
:0043EFF0 5B                      pop ebx
:0043EFF1 C3                      ret
按F10,走出此CALL,会来到:
:00439721 8D4000                  lea eax, dword ptr [eax+00]
:00439724 53                      push ebx
:00439725 6683B86602000000        cmp word ptr [eax+00000266], 0000
:0043972D 7410                    je 0043973F-------此处可跳出NAg的call
:0043972F 8BD8                    mov ebx, eax
:00439731 8BD0                    mov edx, eax
:00439733 8B8368020000            mov eax, dword ptr [ebx+00000268]
:00439739 FF9364020000            call dword ptr [ebx+00000264] ----产生NAg的窗口
:0043973F 5B                      pop ebx<---你来到此
:00439740 C3                      ret
好,现在找到1个地方,此时按F5,程序运行。最后,关闭程序,将再次中断。(你不要禁止开始的断点)
按f11,NAG出现,点击Ok,再次中断,按F10来到:
:0043709B 8945FC                  mov dword ptr [ebp-04], eax
:0043709E 8B45FC                  mov eax, dword ptr [ebp-04]
:004370A1 6683B8B602000000        cmp word ptr [eax+000002B6], 0000
:004370A9 7441                    je 004370EC-------此处可跳出NAg的call
:004370AB 33C0                    xor eax, eax
:004370AD 55                      push ebp
:004370AE 68D5704300              push 004370D5
:004370B3 64FF30                  push dword ptr fs:[eax]
:004370B6 648920                  mov dword ptr fs:[eax], esp
:004370B9 8B5DFC                  mov ebx, dword ptr [ebp-04]
:004370BC 8B55FC                  mov edx, dword ptr [ebp-04]
:004370BF 8B83B8020000            mov eax, dword ptr [ebx+000002B8]
:004370C5 FF93B4020000            call dword ptr [ebx+000002B4]----产生NAg的窗口
:004370CB 33C0                    xor eax, eax---你将会来到此
:004370CD 5A                      pop edx
:004370CE 59                      pop ecx
:004370CF 59                      pop ecx

好了,在十六进制工具修改0043972D和004370A9处,将两处的je改jne (74 to 75)

-------------------------------------------------------------------------------------------------------------------------------------------
:00439721 8D4000                  lea eax, dword ptr [eax+00]
这一句我下断怎么也拦不下...

我用OD调试的,程序无壳.教程用的SOFTICE,应该不是调试器的问题吧.再问一下:这个程序用到SEH了吧?难道是它捣的鬼?
小弟菜鸟一只只是自己猜测,请各位师傅不要见笑.

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (8)
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
vlit 2008-4-6 01:39
2
0
用OD很容易搞定嘛
直接下断MessageBoxA
或者直接调试运行程序,弹出对话框后暂停,查看堆栈信息,也很容易找到调用的地方
NOP掉,搞定
我搞定的在附件里面,CrackMe一般除NAG不会很难

刚刚看了一下这个CrackMe的about,发现我这方法还不符合要求
见此句
The exercise is to do this without changing more than 2 bytes
不能改变超过两个字节......
上传的附件:
雪    币: 623
活跃值: (10)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
啊CR 3 2008-4-6 09:43
3
0
修改点:
0043EFC4      C3            retn

过程:
Bp MessageBoxA
断下后返回这里
0043EFE3   .  33D2          xor     edx, edx

查看代码
0043EFC4      53            push    ebx
0043EFC5   .  8BD8          mov     ebx, eax
0043EFC7   .  6A 00         push    0                                ; /Style = MB_OK|MB_APPLMODAL
0043EFC9   .  68 F4EF4300   push    0043EFF4                         ; |Title = "Register today !!!"
0043EFCE   .  68 08F04300   push    0043F008                         ; |Text = "This is an unregistered Sharewareversion of CrackMe#3 (c) tC...    If you want to get rid of that Nag Screen you had to buy the full version for only 500$."
0043EFD3   .  A1 040C4400   mov     eax, dword ptr [440C04]          ; |
0043EFD8   .  8B00          mov     eax, dword ptr [eax]             ; |
0043EFDA   .  8B40 24       mov     eax, dword ptr [eax+24]          ; |
0043EFDD   .  50            push    eax                              ; |hOwner
0043EFDE   .  E8 7572FCFF   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
0043EFE3   .  33D2          xor     edx, edx
0043EFE5   .  8B83 C8020000 mov     eax, dword ptr [ebx+2C8]
0043EFEB   .  E8 A82EFEFF   call    00421E98
0043EFF0   .  5B            pop     ebx
0043EFF1   .  C3            retn
雪    币: 177
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ysfeagle 2008-4-6 09:51
4
0
路过~
LS的应该都给的正解
不看了
雪    币: 196
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
guochao 2008-4-6 11:46
5
0
0043EFC7   .  6A 00         push    0                                ; /Style = MB_OK|MB_APPLMODAL
0043EFC9   .  68 F4EF4300   push    0043EFF4                         ; |Title = "Register today !!!"
0043EFCE   .  68 08F04300   push    0043F008                         ; |Text = "This is an unregistered Sharewareversion of CrackMe#3 (c) tC...    If you want to get rid of that Nag Screen you had to buy the full version for only 500$."
0043EFD3   .  A1 040C4400   mov     eax, dword ptr [440C04]          ; |
0043EFD8   .  8B00          mov     eax, dword ptr [eax]             ; |
0043EFDA   .  8B40 24       mov     eax, dword ptr [eax+24]          ; |
0043EFDD   .  50            push    eax                              ; |hOwner
0043EFDE   .  E8 7572FCFF   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
0043EFE3   .  33D2          xor     edx, edx
0043EFE5   .  8B83 C8020000 mov     eax, dword ptr [ebx+2C8]

这个断下了,但是程序要求不要超过两个字节的,这么多我NOP 掉不算的.而且这个程序是自解压的.是否还有CRC校验?跟的我头都大了..我要加油!!!
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
vlit 2008-4-6 11:50
6
0
3楼已经给出正解了啊,提前返回就行了
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
我是瑶瑶 2008-4-6 12:27
7
0
00439725   .  66:83B8 66020000 00          cmp     word ptr [eax+266], 0
004370A1   .  66:83B8 B6020000 00          cmp     word ptr [eax+2B6], 0
把上面两行的0改成43也可以,这样应该是改变2个字节就可以了
上传的附件:
雪    币: 196
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
guochao 2008-4-6 12:52
8
0
明白了,谢谢师傅们啦~~
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
梅花心易 2008-4-6 17:03
9
0
学习了....
游客
登录 | 注册 方可回帖
返回