|
|
楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑 , J6 j! D6 z+ e- l# D1 P3 H2 s, w8 Z
1 ?% E- {$ A) z1 s2 E# s- p就好像CE的那种指针+ n4 x* P/ ?- t: k) J' E4 H
一个数据的地址是变动的
8 x, v: M, j& O' a' }但是相对一个A地址的偏移量是不变的' h& @2 o7 r: \0 m( ?
那么就需要定位这个A地址4 {7 Y/ C% d; D& @: e. s; p
而指向A地址的总是一段代码
* W6 U( _, G, _* j& j2 XJMP类的; E$ K9 F% p+ V# v6 R
那么这个代码的地址B就是一个指针' L5 f, o. J5 k; ?
就和模拟器的基地址是一个道理9 s9 |5 h+ @- Q- s. l
2 Z! ]" B9 `1 X7 U3 d4 E
只是PC游戏通常不是一级指针
6 b N5 f3 }6 R( w2 t8 |" d是多级的
# b8 v' K8 c j% r/ K6 F5 W4 C也就是代码地址B也不是固定的
* D7 ]- Z/ y! O那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C
3 ]- z9 a- h! ?' u4 D6 H7 E如此循环
/ @( t6 U3 q: D, H一直找到一个固定的JMP类代码为止
3 {2 A2 V; h) _8 D4 @ q; o7 _% P; S' E% u/ b% e3 U* z" O5 I
目前我遇到过的最BT的游戏也就4级指针
3 {- A6 i) R- k9 D3 Y8 R+ ^再多级的暂时还没看到过 |
|