本帖最后由 shane007 于 2023-8-23 15:32 编辑
/ Y: s# t$ r$ W) }' z* {
. V2 Y Q: {8 O% O本分析使用的是GOG版本。5 I% w! N2 X* J3 n& }% ]
这个游戏用dxwnd.exe可以进行窗口化,然后我采用ollyice附加进程的方式进行调试。经过查看,是directx9的游戏。/ h! Z/ Y! V- Z# D2 O
- .text:004042D8 push 20h ; SDKVersion. f: K8 T' @/ r( p1 o- n/ p
- .text:004042DA call Direct3DCreate9
复制代码
4 u% k; M% `6 A1 W5 I
0 n5 D8 I9 ^8 w! t! G在游戏画面查找一句对话bought it to look, 点击物品后触发,断点代码如下9 B( d6 w5 U' F4 o4 r3 O- H
- 0069DEDA F3:A5 rep movs dword ptr es:[edi], dword p>
复制代码 0 i6 L5 o2 P5 ^( D
在ida pro中查看,发现是memcpy函数,查看调用处,有好多20-30个。
4 J) q7 d! H% C这个得做个资料,一个一个进行排查了。但是显示函数一定就在其中。
, x6 u0 L3 i; n; `$ M! t0 k, o! x- void *__cdecl memcpy(void *Dst, const void *Src, size_t Size)
复制代码 0 y' L. t% W6 e5 z8 V$ }
我尝试了其中第一个,在函数开头设置断点,能断下来,说不定,这就是) q! j6 e* @3 Y1 @1 S; }, P5 N
显示函数其中之一,等以后继续分析。
/ s6 ?! ~6 p7 Q4 a+ U- int __cdecl sub_408AD0(int a1, int *a2, int a3, int *a4)
复制代码 9 v) j$ M$ z+ Q5 u3 L9 i$ c
0 y6 V: p" S% H; o2 \: Z0 H, T% D
4 \3 M1 W9 N* \% o% p9 V/ ^. v/ \ x1 q
. `6 M- l2 w; R
|