本帖最后由 shane007 于 2023-8-23 15:32 编辑
9 v5 A% E+ ?, z: N5 B' K/ |2 Z0 ^6 f
本分析使用的是GOG版本。, R3 Z h% }* E' d" Z1 t t
这个游戏用dxwnd.exe可以进行窗口化,然后我采用ollyice附加进程的方式进行调试。经过查看,是directx9的游戏。
/ s' m7 V. o: Y% D' \- p* r- .text:004042D8 push 20h ; SDKVersion6 T' n0 Q( y& l! I* t' ?, A6 R5 {
- .text:004042DA call Direct3DCreate9
复制代码
# ]/ }8 W& o; ]/ B" l
' r1 v" U( V/ A' \1 |在游戏画面查找一句对话bought it to look, 点击物品后触发,断点代码如下" j! Q% i/ K) J0 ]* \/ P" e
- 0069DEDA F3:A5 rep movs dword ptr es:[edi], dword p>
复制代码 ) o# s& e/ m1 }" a6 l6 C' I
在ida pro中查看,发现是memcpy函数,查看调用处,有好多20-30个。
6 h3 x; ?! i0 B8 X# h" H3 t* N这个得做个资料,一个一个进行排查了。但是显示函数一定就在其中。8 q7 P* d3 t3 s; g- W! F) N: E- ~; v
- void *__cdecl memcpy(void *Dst, const void *Src, size_t Size)
复制代码
8 I* \+ Y' O$ }4 O我尝试了其中第一个,在函数开头设置断点,能断下来,说不定,这就是
h" w! m! b% N8 G, i5 Z' }, k显示函数其中之一,等以后继续分析。
& R# h5 J! |9 D' g0 Y% b0 |6 h+ `- int __cdecl sub_408AD0(int a1, int *a2, int a3, int *a4)
复制代码
% O) Z3 ~+ l3 X! P# s% W' C U, p: M( x
8 m, [, h+ W6 S) V% w- ]0 U% q9 |+ a s; x0 D* F5 o
( J! P6 h4 p& l% f6 l* N! i |