|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑 9 Q3 S: l- Q8 G$ l
r$ i. n7 s9 `9 u; L; r1 [' E就好像CE的那种指针2 ?# a0 Z- u4 {* F
一个数据的地址是变动的) w$ N7 t8 l- g' I
但是相对一个A地址的偏移量是不变的
2 c! U$ L0 W7 G; [! x8 f那么就需要定位这个A地址
3 i+ B' M/ x9 l而指向A地址的总是一段代码
3 }9 E( x1 [2 _3 k+ AJMP类的
& D' ~2 Z. P# W* j那么这个代码的地址B就是一个指针
/ B2 `- ]' [4 j% P3 Z2 R# h/ ^* ~就和模拟器的基地址是一个道理
# `/ g. c7 k2 r1 |
, X" U2 e5 |' a3 k# s; S只是PC游戏通常不是一级指针
! c" Y% G) H( T是多级的
' w8 M5 N% c& n, H* b9 |3 e+ ]% e也就是代码地址B也不是固定的
6 M4 s$ T( f4 x7 L' R+ _那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C1 Y4 c D1 t. M, k1 L
如此循环* v, P ]& f' a2 w4 g7 j" h
一直找到一个固定的JMP类代码为止
, [& h' |5 t+ H. p1 i, G0 |& b4 d' J" I4 }. ^" F3 ^( { s
目前我遇到过的最BT的游戏也就4级指针
6 z. E4 ]# i, d4 \! J8 v再多级的暂时还没看到过 |
|