|
|
楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑 % Y, H \( q$ G' J( ?: U! o. E# ^+ j
" d. d s! H+ Z! a+ _3 z8 \
就好像CE的那种指针: W: v3 Q; D; I4 y @9 J- Q
一个数据的地址是变动的, M, U, K( h& S8 W
但是相对一个A地址的偏移量是不变的" H) s* O, A; L* j1 }! f3 T
那么就需要定位这个A地址
) I- s, D# E) M* A' i9 u而指向A地址的总是一段代码
u+ P7 w0 Y" f; X2 ZJMP类的' i9 O; |+ r" w$ N4 Y; V
那么这个代码的地址B就是一个指针
1 |. i, k+ }8 D4 b+ b就和模拟器的基地址是一个道理# R0 y: K- B' y
, i" {, r% F4 \7 u. s; V只是PC游戏通常不是一级指针3 |% m1 {' `) }! ~/ n% N9 e
是多级的& m+ H+ h4 I8 C
也就是代码地址B也不是固定的
( m0 [) d, q" n5 a+ Z那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C0 C- ~" d+ @# n+ n8 {
如此循环* u$ w8 H. M# `" g0 Y8 n( e! M
一直找到一个固定的JMP类代码为止
- d1 }9 p5 L$ E' Z9 \: o. }* h6 L8 D0 a7 O6 }
目前我遇到过的最BT的游戏也就4级指针" N/ E' s3 j% I7 c) m
再多级的暂时还没看到过 |
|