DNF海啸 pecompact v2.x 脱文
本帖最后由 male 于 2010-8-15 19:46 编辑ESP定律法
00494995 >B8 68BA5A00 mov eax,DNF海啸.005ABA68//载入停在这里,F8单步
0049499A 50 push eax
0049499B 64:FF35 0000000>push dword ptr fs://停到这里,寄存器ESP变红
004949A2 64:8925 0000000>mov dword ptr fs:,esp
004949A9 33C0 xor eax,eax
004949AB 8908 mov dword ptr ds:,ecx
004949AD 50 push eax
寄存器:=======================================
EAX 005ABA68 DNF海啸.005ABA68
ECX 0012FFB0
EDX 7C92EB94 ntdll.KiFastSystemCallRet
EBX 7FFD4000
ESP 0012FFC0//右键->在数据窗口跟随
EBP 0012FFF0
ESI FFFFFFFF
EDI 7C930738 ntdll.7C930738
EIP 0049499B DNF海啸.0049499B
C 0ES 0023 32位 0(FFFFFFFF)
P 1CS 001B 32位 0(FFFFFFFF)
A 0SS 0023 32位 0(FFFFFFFF)
Z 1DS 0023 32位 0(FFFFFFFF)
S 0FS 003B 32位 7FFDF000(FFF)
T 0GS 0000 NULL
D 0
O 0LastErr ERROR_SUCCESS (00000000)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -UNORM BCDC 01050104 00000000
ST1 empty 0.0
ST2 empty 0.0
ST3 empty 0.0
ST4 empty 0.0
ST5 empty 0.0
ST6 empty 1.0000000000000000000
ST7 empty 1.0000000000000000000
3 2 1 0 E S P U O Z D I
FST 4020Cond 1 0 0 0Err 0 0 1 0 0 0 0 0(EQ)
FCW 027FPrec NEAR,53掩码 1 1 1 1 1 1
数据窗口:=============================
0012FFC0 005ABA68DNF海啸.005ABA68//右键->断点->设置硬件访问断点->Word
再F9运行,删除硬件断点
7C957826 3B45 F8 cmp eax,dword ptr ss://OD停在这里,F8单步走
7C957829 72 09 jb short ntdll.7C957834
7C95782B 3B45 F4 cmp eax,dword ptr ss:
7C95782E^ 0F82 F731FFFF jb ntdll.7C94AA2B
7C957834 50 push eax
7C957835 E8 67000000 call ntdll.7C9578A1
7C95783A 84C0 test al,al
7C95783C^ 0F84 E931FFFF je ntdll.7C94AA2B
7C957842 F605 5AC3997C 8>test byte ptr ds:,0x80
7C957849 0F85 20720100 jnz ntdll.7C96EA6F //F8到这里的时候,跳转没有实现,看寄存器
寄存器=============================
EAX 0012FC01
ECX 0000A38D
EDX 00000000
EBX 0012FFBC
ESP 0012FC4C
EBP 0012FCBC
ESI 0012FCD4
EDI 7C930738 ntdll.7C930738
EIP 7C957849 ntdll.7C957849
C 0ES 0023 32位 0(FFFFFFFF)
P 1CS 001B 32位 0(FFFFFFFF)
A 0SS 0023 32位 0(FFFFFFFF)
Z 1DS 0023 32位 0(FFFFFFFF))//改Z 1为Z 0,让上面的跳转实现
S 0FS 003B 32位 7FFDF000(FFF)
T 0GS 0000 NULL
D 0
O 0LastErr ERROR_SUCCESS (00000000)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -UNORM BCDC 01050104 00000000
ST1 empty 0.0
ST2 empty 0.0
ST3 empty 0.0
ST4 empty 0.0
ST5 empty 0.0
ST6 empty 1.0000000000000000000
ST7 empty 1.0000000000000000000
3 2 1 0 E S P U O Z D I
FST 4020Cond 1 0 0 0Err 0 0 1 0 0 0 0 0(EQ)
FCW 027FPrec NEAR,53掩码 1 1 1 1 1 1
7C96EA6F 6A 10 push 0x10//来到这里,F8单步走
7C96EA71 53 push ebx
7C96EA72 6A 00 push 0x0
7C96EA74 FF75 0C push dword ptr ss:
7C96EA77 56 push esi
7C96EA78 E8 136B0100 call ntdll.7C985590
7C96EA7D 8945 F0 mov dword ptr ss:,eax
7C96EA80^ E9 CA8DFEFF jmp ntdll.7C95784F//往回跳
7C96EA85 57 push edi
7C96EA86 FF75 F0 push dword ptr ss:
7C96EA89 E8 0C6B0100 call ntdll.7C98559A
7C96EA8E^ E9 DC8DFEFF jmp ntdll.7C95786F
7C96EA93 8366 04 EF and dword ptr ds:,-0x11
7C96EA97 8365 08 00 and dword ptr ss:,0x0
OD到里这里
005ABA9B 53 push ebx
005ABA9C 51 push ecx
005ABA9D 57 push edi
005ABA9E 56 push esi
005ABA9F 52 push edx
005ABAA0 8D98 57120010 lea ebx,dword ptr ds:]//F8单步走到这里,ESP方法,右键->在
数据窗口跟随============
0012FFAC 7C92EB94ntdll.KiFastSystemCallRet //右键->断点->设置硬件访问断点->Word
F9运行,删除硬件断点
005ABB24 5E pop esi //OD停在这里,F8单步走
005ABB25 5F pop edi
005ABB26 59 pop ecx
005ABB27 5B pop ebx
005ABB28 5D pop ebp
005ABB29- FFE0 jmp eax ; DNF海啸.<模块入口点> //跳到OEP, :-)F8
到这里就是 OEP======================
00494995 >55 push ebp
00494996 8BEC mov ebp,esp
00494998 6A FF push -0x1
0049499A 68 38195500 push DNF海啸.00551938
0049499F 68 14744900 push DNF海啸.00497414
自带插件脱之 看看~~~~ 路过 。等高手 楼主的 文章 很详细 学习啦
等待 高手解答 后面的步骤~ 这个壳不是很难,脱壳机秒杀,不用发脱文了 脱壳机一下子就搞定了啊 破解过程 已经脱好。原来这么简单。举一反三 回复 8# male
破解了吗
页:
[1]