|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑
T4 V' u# T/ w. W- `# X2 l7 |; j* `6 K2 T) m$ ]
就好像CE的那种指针
5 Z5 O! y4 T/ U0 o7 u一个数据的地址是变动的) K- M2 E! f7 g9 }" t# G; i# B4 u
但是相对一个A地址的偏移量是不变的
, I9 s3 n* T/ C那么就需要定位这个A地址' F( C& N3 F& l; J X
而指向A地址的总是一段代码
" s6 x! H4 T3 ?; ?5 }, k; iJMP类的$ }: r2 ]' ]4 ~" _. T& U, [) z
那么这个代码的地址B就是一个指针# V' b" N" a* T8 ?' T+ ?
就和模拟器的基地址是一个道理$ y& w4 [2 H/ o
+ \" R& X9 E9 N( E1 r
只是PC游戏通常不是一级指针) V* a7 Q( b7 D; w- J4 f3 h: ^, t& B
是多级的; d" P( j/ c# ^6 L0 V0 w( W
也就是代码地址B也不是固定的
7 k( x: k7 Z/ K) B; v那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C* v/ C' j* e, ?9 `$ N6 p2 s
如此循环
, R) W; V2 I0 N! f, j一直找到一个固定的JMP类代码为止
- e6 q) X6 V9 v |' S+ K- q+ v4 \$ R+ a+ v0 B
目前我遇到过的最BT的游戏也就4级指针
! H, |7 X, q8 L- J再多级的暂时还没看到过 |
|