|

楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑
6 X, c* X' `$ I8 O& X- y8 O) L, z$ ~- d# m7 E9 e, b; }3 O
就好像CE的那种指针
# n4 s' v5 ~5 H$ u一个数据的地址是变动的3 ]9 h8 \5 S# i9 j
但是相对一个A地址的偏移量是不变的3 E! W. d$ d1 l, [/ k4 D3 u. V
那么就需要定位这个A地址+ y! V0 `( L: `7 |; J6 K% N6 b
而指向A地址的总是一段代码
5 t" u& q# N6 \JMP类的. B+ D* _, b. L/ {9 s$ V
那么这个代码的地址B就是一个指针$ Y5 J% t- w7 a. _ w* z: _
就和模拟器的基地址是一个道理2 \% E( ?+ q! w
! ^3 z, F9 e( |5 r8 I; B0 ?3 \
只是PC游戏通常不是一级指针
' q8 T! L, w! e. L% p是多级的
; [; B9 [5 A7 {0 X+ I也就是代码地址B也不是固定的
2 Z+ K- e" S$ I6 I8 r5 c. X那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C+ d; f- Y: y% `" W/ o2 E
如此循环# @( E ^2 |) [. s( P6 I' V, i
一直找到一个固定的JMP类代码为止
9 U- r! D# l# a9 |; N5 l
7 q5 n5 I/ h' g( o: A2 L E% a7 _) A目前我遇到过的最BT的游戏也就4级指针5 C7 P: p L! V0 i
再多级的暂时还没看到过 |
|