|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑
, X' [& {9 T7 i1 h2 d' d8 g" _+ `9 d9 f/ f; w
就好像CE的那种指针
, {& w0 A5 d) n: V( M" d" E一个数据的地址是变动的3 Y( y& g: \2 r' H: ^( `
但是相对一个A地址的偏移量是不变的
+ f1 U. @& c# D& |2 j那么就需要定位这个A地址' N% X0 c# g" E% ?* B" L/ b
而指向A地址的总是一段代码
o( ^- l. n; ^2 Q; XJMP类的
( j9 w& Y8 G+ T0 B& C8 a9 k那么这个代码的地址B就是一个指针
# D; y/ I+ D7 A$ w9 l就和模拟器的基地址是一个道理
; @( a% J% K1 D( O, X0 @2 z& x- d/ y
' ~' u$ |# O, A9 O$ z只是PC游戏通常不是一级指针- f9 S- A8 K8 @: L3 v
是多级的* t& H, T; T/ r
也就是代码地址B也不是固定的
. Z! E4 q! [! z. |6 A那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C. [5 a% H5 F' n) q- D1 l6 T
如此循环
# v: P: }! Q) b$ Y! N" F9 P, |一直找到一个固定的JMP类代码为止
) m- K: }% j9 e0 @% f3 [# q
1 U ?+ A6 L7 K( |& K. j目前我遇到过的最BT的游戏也就4级指针/ G5 a% o" G9 w' {. U
再多级的暂时还没看到过 |
|