|
|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑
) D3 }; k, m$ Y) X! d( I+ h# x3 r, E9 N- J
就好像CE的那种指针
2 N+ p1 ^- B, E& [: B1 O一个数据的地址是变动的
$ u# m3 b' [ d3 t" T7 d6 \" v% w但是相对一个A地址的偏移量是不变的% t8 O% ?* }: Q* R% L
那么就需要定位这个A地址5 N' K0 k* d. J' s' w" z
而指向A地址的总是一段代码
2 L4 H9 H0 Z2 t2 V( a: D \JMP类的
E# x! Z6 o& F+ g那么这个代码的地址B就是一个指针2 S' s4 t& R9 I" b
就和模拟器的基地址是一个道理
% p s" G9 ^& R+ O6 r( q# t- q& u5 A g) s" Z8 @4 U, ]
只是PC游戏通常不是一级指针' t0 S+ X& u1 A @" \" H& J
是多级的
$ D, }, D1 }$ n# O: u也就是代码地址B也不是固定的
% j: c+ ~0 y! f8 F T1 d那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C/ X. T7 K' S l6 z* @9 B0 ~
如此循环- _5 H" H/ u" I" ]- k+ }6 y
一直找到一个固定的JMP类代码为止! v' w* \' B* @* N4 s
- `3 v+ H4 Z# K3 B% c& p& x目前我遇到过的最BT的游戏也就4级指针
8 Z6 C9 o/ I) e5 |& g! I# _) v+ N7 U再多级的暂时还没看到过 |
|