|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑 4 G- s& E9 l8 f9 l
0 }2 \6 g5 y$ c& c0 W
就好像CE的那种指针
# q3 v& y# D9 @一个数据的地址是变动的
8 ]6 `0 v# x, b0 ^8 K: c$ }8 q$ @但是相对一个A地址的偏移量是不变的
, t. @: z- l3 {8 J那么就需要定位这个A地址
) e7 q& a; C5 O0 t5 S2 e- v, u3 y而指向A地址的总是一段代码
& I& p& i0 ]- y+ z# q# UJMP类的( ~$ J! N8 h) X, }, q1 k- f2 I
那么这个代码的地址B就是一个指针, [) d# V* o1 X. q+ G6 n8 D
就和模拟器的基地址是一个道理! u x/ k; O4 [7 S
+ E- F4 ]" h- `$ g' k6 S# N只是PC游戏通常不是一级指针- T8 F$ h- G* a9 h$ W$ a
是多级的
, D/ D$ B2 f1 \; x, @也就是代码地址B也不是固定的9 X5 M( E6 s6 |" K$ F$ R; u7 u
那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C( b, }8 N/ s5 t
如此循环( C3 o6 M6 y! f0 W5 y0 w/ I
一直找到一个固定的JMP类代码为止
$ O; w& C( ~0 q, @& [( w, k
" X" a8 r1 [/ p p目前我遇到过的最BT的游戏也就4级指针' B# Q4 K4 z- q B; |" I
再多级的暂时还没看到过 |
|