|
|
楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑 . C- J6 V; {: z3 W `: J$ `% z# c5 D
, t) i- K5 F) t$ g* u2 A/ @就好像CE的那种指针0 E; [- v/ j( t z' m: d2 { `
一个数据的地址是变动的4 c$ z; Z& s1 x
但是相对一个A地址的偏移量是不变的
, ?2 R7 E4 i& @) |那么就需要定位这个A地址
0 H, `1 L( s1 S- m! }而指向A地址的总是一段代码2 a8 T9 C: e7 P a1 L* l
JMP类的; I8 F3 K$ x& i7 P2 O. n4 L
那么这个代码的地址B就是一个指针
% ?+ y( y: E, ?' {! v4 M0 R就和模拟器的基地址是一个道理
8 F, T( ^& B' D y( J% C( J
" B) G" z2 b, V6 I只是PC游戏通常不是一级指针( C0 p3 L* H0 }
是多级的
+ [, @! g) {: n2 \7 M! e也就是代码地址B也不是固定的8 R$ A+ k5 S0 ~0 ?' ]2 n% m+ c" `
那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C
0 G+ \% v! C$ K# D8 W如此循环/ O: c. }& L) ], B M- O- P
一直找到一个固定的JMP类代码为止! h+ P5 C8 X; A; A! W. [8 x
- H! Y8 Q3 p6 V4 J+ ~% L5 p目前我遇到过的最BT的游戏也就4级指针( J% T4 z% c0 m& K
再多级的暂时还没看到过 |
|