- UID
- 10898
注册时间2006-4-18
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
脱北斗1.4壳
方法一;ESP定律法
OD载入
F8 ESP突显 0012FFF0
hr 0012FFF0 enter F9
0040D267 61 popad
0040D268 9D popfd
0040D269 - E9 5E3EFFFF jmp 004010CC //停在这里
0040D26E 8BB5 C0FDFFFF mov esi, [ebp-240]
0040D274 0BF6 or esi, esi
0040D276 0F84 97000000 je 0040D313
取消硬件断点 F8
到达OEP
004010CB 00 db 00
004010CC /. 55 push ebp //入口
004010CD |. 8BEC mov ebp, esp
004010CF |. 83EC 44 sub esp, 44
004010D2 |. 56 push esi
004010D3 |. FF15 E0634000 call [4063E0] ; [GetCommandLineA
004010D9 |. 8BF0 mov esi, eax
004010DB |. 8A00 mov al, [eax]
004010DD |. 3C 22 cmp al, 22
方法二:内存镜像法
OD载入
ALT+M
Memory map, 条目 32
地址=5D1E4000
大小=0001F000 (126976.)
属主=COMCTL32 5D170000
区段=.rsrc
包含=资源
类型=Imag 01001002
访问=R
初始访问=RWE
F2 F9
再ALT+M
Memory map, 条目 30
地址=5D171000
大小=00070000 (458752.)
属主=COMCTL32 5D170000
区段=.text
包含=代码,输入表,输出表
类型=Imag 01001002
访问=R
初始访问=RWE
F2 F9
0040D267 61 popad
0040D268 9D popfd
0040D269 - E9 5E3EFFFF jmp 004010CC //停在这里 F8
0040D26E 8BB5 C0FDFFFF mov esi, [ebp-240]
0040D274 0BF6 or esi, esi
0040D276 0F84 97000000 je 0040D313
0040D27C 8B95 C4FDFFFF mov edx, [ebp-23C]
0040D282 03F2 add esi, edx
到达OEP
方法三:内存跟踪法
OD载入
命令行tc eip<0040c000 enter
F9
F8 到OEP
方法四:手动跟踪法
0040D044 > 9C pushfd //停在这里
0040D045 60 pushad
0040D046 E8 00000000 call 0040D04B //F7进去
0040D04B 5D pop ebp
0040D04C B8 B1854000 mov eax, 004085B1
0040D051 2D AA854000 sub eax, 004085AA
0040D056 2BE8 sub ebp, eax
0040D058 8DB5 E8FDFFFF lea esi, [ebp-218]
0040D05E 8B06 mov eax, [esi]
0040D060 83F8 00 cmp eax, 0
0040D063 74 11 je short 0040D076
一路F8 遇到回跳 F4 一直到。。。
0040D25E 5A pop edx
0040D25F 5B pop ebx
0040D260 59 pop ecx
0040D261 5E pop esi
0040D262 83C3 0C add ebx, 0C
0040D265 ^ E2 E1 loopd short 0040D248
0040D267 61 popad
0040D268 9D popfd
0040D269 - E9 5E3EFFFF jmp 004010CC //不用我再说了吧
0040D26E 8BB5 C0FDFFFF mov esi, [ebp-240]
0040D274 0BF6 or esi, esi
0040D276 0F84 97000000 je 0040D313
0040D27C 8B95 C4FDFFFF mov edx, [ebp-23C]
0040D282 03F2 add esi, edx
(Moyer)老怪物
2006年5月4日 |
|