|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑
, t8 _, i2 ^ f2 a. Z6 M/ z# Y$ v+ B, z7 I& ~2 H
就好像CE的那种指针6 u4 ` w9 V# z# h- Z$ z$ y8 J/ U
一个数据的地址是变动的
: I% D1 [' a0 v1 ]' X; e但是相对一个A地址的偏移量是不变的9 p8 I- N# b7 Q6 d
那么就需要定位这个A地址
; M+ K3 C4 l# w' U9 P: o而指向A地址的总是一段代码" S1 u8 E1 v7 b4 w
JMP类的' e% E* p8 V5 d/ Q# M% T `9 D
那么这个代码的地址B就是一个指针
1 \4 q7 y- Z d* @ ~0 @就和模拟器的基地址是一个道理
, v$ O3 d# u0 o$ i$ a$ \2 F/ E& G: m% S. m' \" x6 P7 d
只是PC游戏通常不是一级指针
: S* E/ N- ^& b( ^- _是多级的
6 M+ O7 P( e3 ?也就是代码地址B也不是固定的
1 Q3 ^- a5 ?1 m n9 q那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C7 S2 O z0 u x; {# V
如此循环
, N0 a) U' o/ f) |9 L; j1 W* m一直找到一个固定的JMP类代码为止' u! h3 o, O8 D6 C. ]$ [; P5 A
6 ^/ Y7 P, `/ o9 d
目前我遇到过的最BT的游戏也就4级指针. ^9 c% A- Y6 g0 h' b4 ^
再多级的暂时还没看到过 |
|