|
|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑
5 I6 {9 H) q3 Z+ D1 W& e- \+ L
$ V g( z0 K1 M, X就好像CE的那种指针
0 y9 o, S( U8 \- q8 w" q一个数据的地址是变动的
# y3 V7 s# G2 A& f" J) U但是相对一个A地址的偏移量是不变的: Y8 v2 W! y; [ {1 m
那么就需要定位这个A地址 t0 L3 k! i* R+ |9 G" [
而指向A地址的总是一段代码
- k' H! Y1 N" x- TJMP类的9 }' K/ Z8 t% ?# c" k
那么这个代码的地址B就是一个指针1 i% z- S7 x& q6 h9 I. A
就和模拟器的基地址是一个道理! i! |9 g# ^ ]3 m+ @, n0 P
5 B5 V' x6 E" n* L) g只是PC游戏通常不是一级指针
' I8 ^7 }. v& `) D是多级的. W( c* K" h N* i) N4 [
也就是代码地址B也不是固定的: a0 k( T5 w: J- p
那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C
. B- L4 d% M* A* ^如此循环
8 C0 [3 h# _2 {* V一直找到一个固定的JMP类代码为止
# [, M; x' N' s: E5 T- ^( H L) S0 I( }
目前我遇到过的最BT的游戏也就4级指针
4 R. |* B) s4 U+ n8 u2 n3 A+ g再多级的暂时还没看到过 |
|