本帖最后由 shane007 于 2023-8-23 15:32 编辑
; d: G3 S# G7 i" J4 q
; k( ^3 z; }9 `* x& k+ ?本分析使用的是GOG版本。$ M) R% Q: h6 D* W
这个游戏用dxwnd.exe可以进行窗口化,然后我采用ollyice附加进程的方式进行调试。经过查看,是directx9的游戏。
+ a9 u2 m- S/ l' v$ M- .text:004042D8 push 20h ; SDKVersion& E7 W3 F+ V1 ~; x
- .text:004042DA call Direct3DCreate9
复制代码
5 Q5 |& e# i7 f9 F: x* S1 p6 U& f" Q. V2 E
在游戏画面查找一句对话bought it to look, 点击物品后触发,断点代码如下
9 @! O3 L- t) U- 0069DEDA F3:A5 rep movs dword ptr es:[edi], dword p>
复制代码 8 L* U+ J O$ m) ]4 y2 [; P
在ida pro中查看,发现是memcpy函数,查看调用处,有好多20-30个。, D) }. X6 i1 Y6 a
这个得做个资料,一个一个进行排查了。但是显示函数一定就在其中。0 ]/ _1 I2 c. r3 S" q
- void *__cdecl memcpy(void *Dst, const void *Src, size_t Size)
复制代码 . G+ e% }( G, X+ _5 F
我尝试了其中第一个,在函数开头设置断点,能断下来,说不定,这就是
7 i3 ?4 d; ?+ D! h! y; G显示函数其中之一,等以后继续分析。
' \7 S) p. `/ u# t' `- int __cdecl sub_408AD0(int a1, int *a2, int a3, int *a4)
复制代码
' B) e( S! J3 N: A d7 F: Z- H' D8 O$ N3 d2 y8 s( h( c9 N
2 o& w$ T% A' s' s. x$ Q+ z$ A( ?: O% R8 F
6 {4 P% w5 o% y A- _5 F2 c/ E& A& ]4 I/ O, B" i" i3 s
|