|
|
楼主 |
发表于 2011-6-12 09:29:46
|
显示全部楼层
本帖最后由 银河漫步 于 2011-6-12 09:31 编辑
U* C3 b# `: g; R1 V& r
- O1 o5 C& C" N8 m; A% ~6 x4 v% [9 D就好像CE的那种指针, q. K O- _) a( g, g
一个数据的地址是变动的
# S) n1 N1 J5 G但是相对一个A地址的偏移量是不变的, g1 A8 q& \* R
那么就需要定位这个A地址
4 |# v3 u6 x4 N, j% U而指向A地址的总是一段代码5 a* W* g# Q& K) q# _) R! ^
JMP类的
0 T3 ], h5 C8 l7 U那么这个代码的地址B就是一个指针4 u1 ~' T1 y- J0 @7 }3 n. y
就和模拟器的基地址是一个道理* o0 Y* \% V! R. S4 I6 J
+ }4 d9 ?& ?$ L* h0 {5 r9 ] v+ J/ o只是PC游戏通常不是一级指针& R6 l1 V( B3 U1 X
是多级的0 k# T; Q$ j3 S& C Q9 g( j a6 e
也就是代码地址B也不是固定的
7 N$ }6 Q& M4 u% _" [) m那么就需要寻址到指向这个代码地址B的的上一级JMP类代码地址C
0 x+ w# i0 T; c" _如此循环
8 O/ r3 {0 d' y* ^) V# t" T一直找到一个固定的JMP类代码为止+ c( Y+ | g# g5 v( x
3 q' P3 L( ]" M. @4 S3 O6 [' z
目前我遇到过的最BT的游戏也就4级指针
/ ?: C9 k7 U, s+ u# u' h- [再多级的暂时还没看到过 |
|