少校
- 注册时间
- 2009-5-17
- 金币
- 1544 个
- 威望
- 29 个
- 荣誉
- 5 个
尚未签到
|
由于时间有限,我在这里就给大家演示两种方法吧,当然还有其他的方法的!* d: b8 G. z q# n% @3 n2 N9 M
4 n X8 `9 R U' t& n; ]: h
首先查壳,PECompact 1.68 - 1.84 -> Jeremy Collake
$ q! X& V3 K. q0 n9 d% h
8 E$ E; N5 d. _: P. ~9 mOD载入
" w E5 }) m' d' K7 {6 ]2 T9 S# X0 o/ U y- H1 {
方法一:单步法(忽略所有异常)
w7 A, ~$ |' L2 I" c# A8 @0 M1 A x& ^$ ?
大家先看一下我的操作,先做一个错误的示范。。。。
. L7 s0 n9 X k7 {9 I) I7 o) B( ]: j2 I* j$ |* r4 ^+ @2 u; l. h
好的,继续看操作,这次是对的~~呵呵~
P& _5 R- c7 V/ E" g; X
5 W6 g) d& Q! R8 q$ E0040C000 P> /EB 06 jmp short PECompac.0040C008 //停在这,继续F8
/ Q/ `3 ^+ F1 J; l7 Y0040C002 |68 CC100000 push 10CC7 b5 f3 R; D) [2 i, j; ^) Q) V0 }
0040C007 |C3 retn0 x3 h3 x. o" P2 j- y& `
0040C008 \9C pushfd5 u" { f9 y0 i. Y+ ]3 E
0040C009 60 pushad
8 p2 a3 Q, y; x0040C00A E8 02000000 call PECompac.0040C011 //F7过! `# Z1 ]# c u. f) g5 o( s6 v$ _
。。。。。。。。。。
+ h; ]5 G2 N9 ^- z4 K7 F& }0040D251 /0F84 9B000000 je PECompac.0040D2F2 //enter
4 I' G7 z; u& q* z2 _ c1 Y。。。。。。。。。。
, q+ V, K$ Y, r$ n' \' N8 L, d1 [. T! a1 g
呵呵~2无法运行,那我们就修复吧~看操作,,,,,可以啦~~~接下来我们有必要用LD做优化~减肥~OK~~~
: v P* l; [+ ^3 g. Z7 |, T( k9 H* r N9 j3 E6 _2 o0 r
* k! Q* J `8 @; q7 \
方法二:ESP定律(忽略所有异常)
4 h6 o) o( F# y# Q2 X6 P3 T- Q9 n( i
6 R$ x+ V" Y3 S4 U0040C000 P> /EB 06 jmp short PECompac.0040C008 //停在这,继续F8/ e# O2 P8 B% T7 ]4 A' C' U
0040C002 |68 CC100000 push 10CC$ N9 C; l7 t& u9 ]! B6 O
0040C007 |C3 retn
' m! O# ^; |) w# B8 E) ^" W% d0040C008 \9C pushfd$ f" m/ H& _0 F% }9 M
0040C009 60 pushad //ESP,突现,0012ffc0
4 Y& E" I( X; m) f1 x& e0040C00A E8 02000000 call PECompac.0040C011
/ ~, |' n0 e/ p! M' Y0 ?9 C下命令行 hr 0012ffc0 回车,F9运行
9 b- N7 Y( Q7 m9 q1 {4 A0040D550 50 push eax //到这里了,继续F8(记得取消硬件断点^_^)1 j! x7 e5 r! F# F: e
0040D551 68 CC104000 push PECompac.004010CC' l8 z9 ?* |0 [5 c7 m9 n
0040D556 C2 0400 retn 4 //返回来到OEP+ H# Y% W' I1 `
。。。。。。。。。。。。。。。* I& Q0 P4 G* G1 j9 e
004010CC 55 push ebp 在这里dump就可以了
$ f3 u( o' Z9 _2 r$ b004010CD 8BEC mov ebp,esp
l. x, X; ], k004010CF 83EC 44 sub esp,442 x$ C& f; e' h! }9 F9 H
0 |3 l% M! d( J2 \5 h很容易就到了OEP了~~
$ A: A( i: x' t* ~! D7 U
6 m4 ?1 [" f/ ]/ w" H+ d$ d0 Y0 J% R4 J4 h; `! S. N; F8 {8 [
方法三:内存镜像法
6 T r3 P# R: `; f
' O# d H* ]: Z; e( R6 \% y大家可以做为课后作业去完成6 I) B8 v/ {* M3 D' v v: ?
0 R6 q) [% X, z
还有就是应该可以用模拟跟踪法的~大家也可以试一下~~现在不早了~呵呵~ |
|