-
-
[旧帖] [原创]爆破riijj_mfccm1_r2.exe 0.00雪花
-
发表于: 2015-12-30 18:04 1476
-
爆破riijj_mfccm1_r2.exe
提供者:riijj
原帖见:http://bbs.pediy.com/showthread.php?t=12136&page=7
爆破工具:od,winhex
调试平台:winxpsp3
验证主函数:
00401140 /$ 6A FF push -1
00401142 |. 68 BE3B4000 push 00403BBE ; SE 处理程序安装
00401147 |. 64:A1 0000000>mov eax, dword ptr fs:[0]
0040114D |. 50 push eax
0040114E |. 64:8925 00000>mov dword ptr fs:[0], esp
00401155 |. 81EC D0000000 sub esp, 0D0
0040115B |. 8A4C24 03 mov cl, byte ptr [esp+3]
0040115F |. 8A4424 03 mov al, byte ptr [esp+3]
00401163 |. 53 push ebx
00401164 |. 55 push ebp
00401165 |. 56 push esi
00401166 |. 884C24 15 mov byte ptr [esp+15], cl
0040116A |. 57 push edi
0040116B |. 8D4C24 18 lea ecx, dword ptr [esp+18]
0040116F |. 884424 18 mov byte ptr [esp+18], al
00401173 |. C64424 20 00 mov byte ptr [esp+20], 0
00401178 |. E8 831C0000 call 00402E00
0040117D |. 8A5424 13 mov dl, byte ptr [esp+13]
00401181 |. 8A4424 13 mov al, byte ptr [esp+13]
00401185 |. 33ED xor ebp, ebp
00401187 |. 8D4C24 28 lea ecx, dword ptr [esp+28]
0040118B |. 89AC24 E80000>mov dword ptr [esp+E8], ebp
00401192 |. 885424 28 mov byte ptr [esp+28], dl
00401196 |. 884424 29 mov byte ptr [esp+29], al
0040119A |. C64424 30 00 mov byte ptr [esp+30], 0
0040119F |. E8 5C1C0000 call 00402E00
004011A4 |. 8D4C24 18 lea ecx, dword ptr [esp+18]
004011A8 |. 8D5424 28 lea edx, dword ptr [esp+28]
004011AC |. 51 push ecx
004011AD |. 52 push edx
004011AE |. C68424 F00000>mov byte ptr [esp+F0], 1
004011B6 |. E8 45FEFFFF call 00401000
004011BB |. 8B9C24 F80000>mov ebx, dword ptr [esp+F8]
004011C2 |. 83C4 08 add esp, 8
004011C5 |. 8A03 mov al, byte ptr [ebx]
004011C7 |. 0FBEF0 movsx esi, al
004011CA 3BF5 cmp esi, ebp ;爆破处1
004011CC 75 2A jnz short 004011F8
004011CE 8D4C24 28 lea ecx, dword ptr [esp+28]
004011D2 |. C68424 E80000>mov byte ptr [esp+E8], 0
004011DA |. E8 11150000 call 004026F0
004011DF |. 8D4C24 18 lea ecx, dword ptr [esp+18]
004011E3 |. C78424 E80000>mov dword ptr [esp+E8], -1
004011EE |. E8 FD140000 call 004026F0
004011F3 E9 CA010000 jmp 004013C2 ;爆破处2
该函数逻辑比较复杂,不能简单爆破。为尽力保持程序原貌爆破,我修改了两处
1、把文件偏移0x11CA处字节3BF5752A改为33FFEB25
2、把文件偏移0x11F3处字节E9CA010000改为E9B8000000
爆破完毕。
本程序爆破的难点在于定位函数,作者为了增加难度放弃使用MessageBox函数,同时在验证失败的时候也不做提示。以此来防止调试者使用MessageBox函数和参考字串定位。
提供者:riijj
原帖见:http://bbs.pediy.com/showthread.php?t=12136&page=7
爆破工具:od,winhex
调试平台:winxpsp3
验证主函数:
00401140 /$ 6A FF push -1
00401142 |. 68 BE3B4000 push 00403BBE ; SE 处理程序安装
00401147 |. 64:A1 0000000>mov eax, dword ptr fs:[0]
0040114D |. 50 push eax
0040114E |. 64:8925 00000>mov dword ptr fs:[0], esp
00401155 |. 81EC D0000000 sub esp, 0D0
0040115B |. 8A4C24 03 mov cl, byte ptr [esp+3]
0040115F |. 8A4424 03 mov al, byte ptr [esp+3]
00401163 |. 53 push ebx
00401164 |. 55 push ebp
00401165 |. 56 push esi
00401166 |. 884C24 15 mov byte ptr [esp+15], cl
0040116A |. 57 push edi
0040116B |. 8D4C24 18 lea ecx, dword ptr [esp+18]
0040116F |. 884424 18 mov byte ptr [esp+18], al
00401173 |. C64424 20 00 mov byte ptr [esp+20], 0
00401178 |. E8 831C0000 call 00402E00
0040117D |. 8A5424 13 mov dl, byte ptr [esp+13]
00401181 |. 8A4424 13 mov al, byte ptr [esp+13]
00401185 |. 33ED xor ebp, ebp
00401187 |. 8D4C24 28 lea ecx, dword ptr [esp+28]
0040118B |. 89AC24 E80000>mov dword ptr [esp+E8], ebp
00401192 |. 885424 28 mov byte ptr [esp+28], dl
00401196 |. 884424 29 mov byte ptr [esp+29], al
0040119A |. C64424 30 00 mov byte ptr [esp+30], 0
0040119F |. E8 5C1C0000 call 00402E00
004011A4 |. 8D4C24 18 lea ecx, dword ptr [esp+18]
004011A8 |. 8D5424 28 lea edx, dword ptr [esp+28]
004011AC |. 51 push ecx
004011AD |. 52 push edx
004011AE |. C68424 F00000>mov byte ptr [esp+F0], 1
004011B6 |. E8 45FEFFFF call 00401000
004011BB |. 8B9C24 F80000>mov ebx, dword ptr [esp+F8]
004011C2 |. 83C4 08 add esp, 8
004011C5 |. 8A03 mov al, byte ptr [ebx]
004011C7 |. 0FBEF0 movsx esi, al
004011CA 3BF5 cmp esi, ebp ;爆破处1
004011CC 75 2A jnz short 004011F8
004011CE 8D4C24 28 lea ecx, dword ptr [esp+28]
004011D2 |. C68424 E80000>mov byte ptr [esp+E8], 0
004011DA |. E8 11150000 call 004026F0
004011DF |. 8D4C24 18 lea ecx, dword ptr [esp+18]
004011E3 |. C78424 E80000>mov dword ptr [esp+E8], -1
004011EE |. E8 FD140000 call 004026F0
004011F3 E9 CA010000 jmp 004013C2 ;爆破处2
该函数逻辑比较复杂,不能简单爆破。为尽力保持程序原貌爆破,我修改了两处
1、把文件偏移0x11CA处字节3BF5752A改为33FFEB25
2、把文件偏移0x11F3处字节E9CA010000改为E9B8000000
爆破完毕。
本程序爆破的难点在于定位函数,作者为了增加难度放弃使用MessageBox函数,同时在验证失败的时候也不做提示。以此来防止调试者使用MessageBox函数和参考字串定位。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
看原图
赞赏
雪币:
留言: