少校
- 注册时间
- 2009-5-17
- 金币
- 1544 个
- 威望
- 29 个
- 荣誉
- 5 个
尚未签到
|
由于时间有限,我在这里就给大家演示两种方法吧,当然还有其他的方法的!! H' Q! S* v+ [) t
* j5 a% D+ d. c2 d
首先查壳,PECompact 1.68 - 1.84 -> Jeremy Collake' R3 g8 q+ f4 J6 B
5 s9 `5 K' \) G/ A v. X" M' p
OD载入
6 P9 C! r8 J6 `- k7 _
; V3 a: {( J' g, N0 I& r$ z) t方法一:单步法(忽略所有异常)8 L8 _9 k: F) u2 |
! v" F! Q, i* m& V1 `% {
大家先看一下我的操作,先做一个错误的示范。。。。
. ^$ m; u; y; t" \+ I g; ~8 V) W) G: n! P7 y3 k/ a! ~3 v
好的,继续看操作,这次是对的~~呵呵~' P/ c# r9 G4 U; F! G) u
7 a0 t; p. _9 y _ c+ R) F0040C000 P> /EB 06 jmp short PECompac.0040C008 //停在这,继续F82 P) @% D/ B5 M. E
0040C002 |68 CC100000 push 10CC
& {7 A0 s: x7 b3 F; f2 z0040C007 |C3 retn6 } c, e4 Z. e0 K" \5 u
0040C008 \9C pushfd+ s6 L3 }8 O# c+ v( T
0040C009 60 pushad
, C" w6 l+ s/ D7 f. j( h1 d0040C00A E8 02000000 call PECompac.0040C011 //F7过7 R2 V6 g K% Q& i" I6 P, A# T
。。。。。。。。。。
- m4 A0 W6 d3 o/ e& j0040D251 /0F84 9B000000 je PECompac.0040D2F2 //enter
/ j; d, {$ t" ?3 Y; r* i。。。。。。。。。。
4 Q! P S/ @( q4 k" o, E9 m& n H# a: U) {/ r! U# F3 N! w! K
呵呵~2无法运行,那我们就修复吧~看操作,,,,,可以啦~~~接下来我们有必要用LD做优化~减肥~OK~~~
3 ?$ G8 g5 M% ~2 C [
, p% y( S5 ]: O6 S/ J7 ]
* g' j, a- [8 h% }3 x% F& i& u1 n方法二:ESP定律(忽略所有异常)6 X, r$ K) z$ |4 W" q* Q: D% D
: v0 @' R |% b, _9 @: S: F0040C000 P> /EB 06 jmp short PECompac.0040C008 //停在这,继续F8& T! T7 c- D2 T4 o6 }
0040C002 |68 CC100000 push 10CC* `3 \1 y) I s* P
0040C007 |C3 retn, z" [9 G: h& {- `" P0 q
0040C008 \9C pushfd
6 h* ~! x3 b9 o* g' {1 Y0040C009 60 pushad //ESP,突现,0012ffc0; M% b! |' r/ \) O
0040C00A E8 02000000 call PECompac.0040C011( M5 _1 T5 V. X0 U; m
下命令行 hr 0012ffc0 回车,F9运行2 W% o2 G6 J& `3 B! p; P V3 e
0040D550 50 push eax //到这里了,继续F8(记得取消硬件断点^_^)& Z: a' |( @. k: c5 q
0040D551 68 CC104000 push PECompac.004010CC
0 {3 [2 L' M8 M l" K0040D556 C2 0400 retn 4 //返回来到OEP
9 B, S( G* ~9 `5 |: S5 c6 g& l。。。。。。。。。。。。。。。
$ o% @! R& l& T D2 z; A004010CC 55 push ebp 在这里dump就可以了8 d7 a4 b5 t! s) S8 K% S; i
004010CD 8BEC mov ebp,esp
$ A) J, n) b9 Y1 r3 X004010CF 83EC 44 sub esp,44
; l. l4 m6 V; n% C
' b4 S. j# q$ u很容易就到了OEP了~~8 c# a/ ?" H" t( ^' v! {
3 f# a: P( B J5 X
; C' R8 r3 u: `) L
方法三:内存镜像法* n* N5 Q/ e- B) k: J1 h
5 F; d, |: v% X' c: {! e* J大家可以做为课后作业去完成3 g9 s: i5 X( M& ]
^5 A6 F2 a Q; }6 g1 C& S( E- q
还有就是应该可以用模拟跟踪法的~大家也可以试一下~~现在不早了~呵呵~ |
|