|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑 % S9 A, u# u! A5 a
/ ~4 f) o% h/ B/ J# f% x/ O$ ?就好像CE的那种指针) G2 I- {' z% k9 s. ]4 C
一个数据的地址是变动的
% C$ x8 y- h9 Q- Y. \1 y- Y- Q但是相对一个A地址的偏移量是不变的
; M1 ^( _7 \, T3 s那么就需要定位这个A地址 C5 M, b, r0 d. j( b, r
而指向A地址的总是一段代码
! E) b, h6 i0 Z* f" w5 w% ~JMP类的) |: \$ T6 v( G# |& F
那么这个代码的地址B就是一个指针
+ u1 c7 a3 b) d4 Z% w' G0 l& }就和模拟器的基地址是一个道理
: G8 n; t- @7 N) a
: w, o8 f$ j B9 G% G- @只是PC游戏通常不是一级指针
+ J- J" K3 H; s# N3 U, `" c& C是多级的6 A5 }" b2 u1 x+ a W. B/ a
也就是代码地址B也不是固定的
) `$ S3 k' I. ~7 a/ r那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C J2 G& M0 d3 ~; w
如此循环9 m3 ~) k2 i/ M/ |: B
一直找到一个固定的JMP类代码为止' n4 P/ g$ O; p9 ~' ^; z! J' Y& v2 @
' r& S$ t/ f# X# q" a
目前我遇到过的最BT的游戏也就4级指针
# K: E2 Z% |, {7 F/ N" R! \& w再多级的暂时还没看到过 |
|