|
|
楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑
1 y3 o4 ^: V3 r6 l$ l3 Y) y! w6 j8 X% z
就好像CE的那种指针
, t+ K# j$ B, |0 K. ?, t( \8 q3 h一个数据的地址是变动的1 H. w J/ L, p% ~: F
但是相对一个A地址的偏移量是不变的
7 l, _% W! X, b( Y- X' i+ t那么就需要定位这个A地址
) u p! u# t# n3 d8 `" K! f2 X I而指向A地址的总是一段代码" ~* d& n1 h$ w- Q, w E% [
JMP类的: t: A% o7 p' G' o* t5 C, D
那么这个代码的地址B就是一个指针+ h- B L* \- K" A U9 p" X
就和模拟器的基地址是一个道理 x& o! o1 i6 E0 s% C
s0 X; F/ e# V- `6 F只是PC游戏通常不是一级指针
, G* E5 O. p2 p是多级的
. f6 O6 C. L1 ?/ r3 D也就是代码地址B也不是固定的3 v3 ?+ F) Y( @% V
那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C& q/ I. P& }8 z( V( k
如此循环8 |9 Y2 ^. h5 V% O
一直找到一个固定的JMP类代码为止
( r( Y1 @ o- t" X- y% o
6 p2 \. o5 v) K2 R8 W% j# n目前我遇到过的最BT的游戏也就4级指针4 H+ f' e5 |, Y$ r( Y- ?
再多级的暂时还没看到过 |
|