本帖最后由 shane007 于 2023-8-23 15:32 编辑
; R, V2 w0 ]+ X8 N' _& t5 e8 L# U0 L. ?% e
本分析使用的是GOG版本。
7 k/ s! F( @& J4 d: z3 i7 l' T这个游戏用dxwnd.exe可以进行窗口化,然后我采用ollyice附加进程的方式进行调试。经过查看,是directx9的游戏。8 f& s6 q$ R' V' {6 @3 a9 L: @; O
- .text:004042D8 push 20h ; SDKVersion
' D+ D1 e+ H& N! J2 a% i - .text:004042DA call Direct3DCreate9
复制代码
/ @) q4 \# L; @; |; M+ t ^
: p# r% `/ C. X! y在游戏画面查找一句对话bought it to look, 点击物品后触发,断点代码如下 @, l, c8 W+ u
- 0069DEDA F3:A5 rep movs dword ptr es:[edi], dword p>
复制代码 ) y# d+ v( g9 {0 @) Q& \- _1 ^+ o$ v
在ida pro中查看,发现是memcpy函数,查看调用处,有好多20-30个。
0 o7 ~( z# `1 h0 g& O这个得做个资料,一个一个进行排查了。但是显示函数一定就在其中。
A# v( D% J, m& B6 l k* |' O- void *__cdecl memcpy(void *Dst, const void *Src, size_t Size)
复制代码
+ _) E5 M/ H1 l( U我尝试了其中第一个,在函数开头设置断点,能断下来,说不定,这就是$ z$ _: u% o O' J( w9 I
显示函数其中之一,等以后继续分析。6 ~. q) x0 k! o' n; _& p9 z
- int __cdecl sub_408AD0(int a1, int *a2, int a3, int *a4)
复制代码
' _. [2 j) F: `
* K# Y. _' h; J0 T' a, G2 f6 b' `# y1 G3 y3 ^0 I$ u
9 d r0 H' f. p" [1 ^
$ U2 J' v! d3 P |