male 发表于 2010-7-30 09:55

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
自带插件脱之

594052627 发表于 2010-7-30 09:56

看看~~~~

qq398231883 发表于 2010-7-30 09:58

路过 。等高手

我是小安 发表于 2010-7-30 10:03

楼主的 文章 很详细 学习啦
等待 高手解答 后面的步骤~

luxiang521 发表于 2010-7-30 10:07

这个壳不是很难,脱壳机秒杀,不用发脱文了

jacc 发表于 2010-7-30 10:25

脱壳机一下子就搞定了啊

ly2008v 发表于 2010-7-30 10:32

破解过程

male 发表于 2010-7-30 10:35

已经脱好。原来这么简单。举一反三

love、you 发表于 2010-7-30 11:00

回复 8# male


    破解了吗
页: [1]
查看完整版本: DNF海啸 pecompact v2.x 脱文