|
楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑 0 u" k4 F9 |* h" D
W# W. l. g4 K: F# F9 u9 Y, g6 v
就好像CE的那种指针
) h7 \2 j0 O8 i& q" i一个数据的地址是变动的
! x5 F" n3 c% e; S" x5 b0 `" g但是相对一个A地址的偏移量是不变的
B4 G* a r3 [1 v) b3 o2 M0 R' B! n那么就需要定位这个A地址0 Y2 \. V9 w" i
而指向A地址的总是一段代码; h; A _- h; g1 E( K0 V
JMP类的# g4 Y: a9 K, m8 `* l z
那么这个代码的地址B就是一个指针5 k8 B- D2 ?4 C5 m
就和模拟器的基地址是一个道理7 f0 \ \- y2 M# v2 g
5 G& t, Z! Y I# } A# g/ o- W: O; f
只是PC游戏通常不是一级指针0 y9 ?6 q0 n) o! c) r9 B( C
是多级的 M3 U8 c7 f, m: F$ c, `
也就是代码地址B也不是固定的6 E0 E( W, ]4 j+ U
那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C
. N: F* \; W0 W2 b/ I* W. O如此循环
: q% ~. i4 G2 R, Z& Q一直找到一个固定的JMP类代码为止* H4 K" e) Y9 S
7 Z) [- [' \4 x P目前我遇到过的最BT的游戏也就4级指针
( U' Q$ n. |9 _/ z. N1 ~再多级的暂时还没看到过 |
|