本帖最后由 shane007 于 2023-8-23 15:32 编辑 ! l& K( q1 s# V$ d
) Z Q* O0 ^* ^' }
本分析使用的是GOG版本。
5 X T& q7 W& d这个游戏用dxwnd.exe可以进行窗口化,然后我采用ollyice附加进程的方式进行调试。经过查看,是directx9的游戏。
4 E. [$ M" ]3 T' o" n5 ]9 _: f+ `- ^* i- .text:004042D8 push 20h ; SDKVersion9 H% ?7 S0 J* q
- .text:004042DA call Direct3DCreate9
复制代码
/ t3 k) O( I; P5 U; f$ X% c( \
在游戏画面查找一句对话bought it to look, 点击物品后触发,断点代码如下! r6 `/ O8 }' h! V2 ~& s
- 0069DEDA F3:A5 rep movs dword ptr es:[edi], dword p>
复制代码
6 b( u# z* t# g! a) L在ida pro中查看,发现是memcpy函数,查看调用处,有好多20-30个。' y7 Q& u. `9 F! E5 c
这个得做个资料,一个一个进行排查了。但是显示函数一定就在其中。8 q4 d* R- H: x0 `3 e# @' r
- void *__cdecl memcpy(void *Dst, const void *Src, size_t Size)
复制代码
/ `. V. Q; ~4 ^- g& I2 X我尝试了其中第一个,在函数开头设置断点,能断下来,说不定,这就是6 f/ Q( K! P$ B+ z4 C+ L0 F$ r
显示函数其中之一,等以后继续分析。
, y7 ~3 S8 y6 o0 ] _' d- int __cdecl sub_408AD0(int a1, int *a2, int a3, int *a4)
复制代码
6 A, j0 L! o7 x e
+ p/ u# o9 P/ ?( R* j* u7 w% Y* V3 i+ b' _$ {) g
( @- k& }# _- P9 ^0 q5 x Z
& |# i" |/ R' A |