少校
- 注册时间
- 2009-5-17
- 金币
- 1544 个
- 威望
- 29 个
- 荣誉
- 5 个
尚未签到
|
由于时间有限,我在这里就给大家演示两种方法吧,当然还有其他的方法的!1 t% w2 f5 x# t$ h% A
' j# E7 q5 e, _2 X. X8 @
首先查壳,PECompact 1.68 - 1.84 -> Jeremy Collake( Z+ V2 w7 b9 u
# @5 {* w0 n. p. T! k1 s
OD载入& `$ k; b6 D w- s
. Z- Q% D! w1 k$ ]7 T6 X方法一:单步法(忽略所有异常), @ Q% w# m. B. e( q* v7 a$ b
& E$ i( B& j* k4 J( Z* C5 X) e大家先看一下我的操作,先做一个错误的示范。。。。: F. n+ P! ~( h
( V/ Z" Q7 H( L6 r% l
好的,继续看操作,这次是对的~~呵呵~: b/ \. Q# r5 U% o" z. T# ]: T
# [2 \: E8 i& I& _& Z* G0040C000 P> /EB 06 jmp short PECompac.0040C008 //停在这,继续F8( _ Q! k+ H, O7 v: H
0040C002 |68 CC100000 push 10CC
$ T1 {. I. c; D0 {; a, u2 B0040C007 |C3 retn
0 H/ r; T! H+ P* c0040C008 \9C pushfd
4 }! _4 H; X: l0040C009 60 pushad
s( J: Z6 e* X% D0040C00A E8 02000000 call PECompac.0040C011 //F7过5 K0 n, y, D& U# x
。。。。。。。。。。
9 {9 Z: ~% E- S/ w, T0040D251 /0F84 9B000000 je PECompac.0040D2F2 //enter3 R/ F: _& n7 K d$ u; s
。。。。。。。。。。
% ]; V) H+ v% }! g0 j s' {, B
6 F- \" z, g3 G+ t1 g s. o呵呵~2无法运行,那我们就修复吧~看操作,,,,,可以啦~~~接下来我们有必要用LD做优化~减肥~OK~~~" b/ V( d/ N! h) D5 k8 P0 j- c
: ^% i, k V+ k9 B5 K0 O
9 b- t' D4 d4 A5 [
方法二:ESP定律(忽略所有异常)
$ w4 c6 o& M# H% @+ ^9 _
# u" P9 q$ h" E0040C000 P> /EB 06 jmp short PECompac.0040C008 //停在这,继续F8
9 i, w5 A- c; h* r+ W% k0040C002 |68 CC100000 push 10CC( e: m; |! X O$ n. H8 r
0040C007 |C3 retn
0 l2 _1 @ h8 ^- G* j3 P* D0040C008 \9C pushfd2 i3 F2 R! _* N
0040C009 60 pushad //ESP,突现,0012ffc07 p, K# {# A5 B& I, R2 t. Y
0040C00A E8 02000000 call PECompac.0040C011
* h4 c& X- Z' `8 K. i下命令行 hr 0012ffc0 回车,F9运行
) ^! ~/ j4 S7 P0040D550 50 push eax //到这里了,继续F8(记得取消硬件断点^_^)! R% x# T8 d0 [- G
0040D551 68 CC104000 push PECompac.004010CC5 J/ ^* C3 h6 l3 y4 i7 E: ?
0040D556 C2 0400 retn 4 //返回来到OEP
* Q7 `% b( i8 B4 c( F& F- L。。。。。。。。。。。。。。。
( S6 V3 q& Q% H' g004010CC 55 push ebp 在这里dump就可以了
# f W' x: R6 \* D. k+ B004010CD 8BEC mov ebp,esp% J v5 `# E. W5 b
004010CF 83EC 44 sub esp,44% n! A4 S3 z6 j, d# F2 O, p& G" q
! @% ~ ~% Z- u' l. i, T1 L$ D" }很容易就到了OEP了~~9 S6 j) w* R( z$ G: I6 x# T( C! P9 z# G
0 w6 y2 J# P; j0 N5 f) s: `; h
1 v' r9 t ^, y* M7 w5 R7 @4 [
方法三:内存镜像法
6 Y- |) m6 P8 h
( I% S) l! n0 ^2 d' [- ~7 x大家可以做为课后作业去完成
6 g) d7 y- V6 z6 O" E+ C; q1 ~) u( N1 G+ V5 z# t
还有就是应该可以用模拟跟踪法的~大家也可以试一下~~现在不早了~呵呵~ |
|