qxtianlong 发表于 2010-5-31 12:05:26

dx游戏窗口化

转眼间我已经为人父了...好久没来了...写上一篇小文
虽然这个已经是个老技术了...
不过我还是发一下吧.
在Gameres下载一个新剑侠情缘Demo

由于调试游戏 全屏后会无法调试..所以就想办法把他窗口化...
spy查看了下窗口风格,以及样式等等..
顺便改了一下风格...
Ida看了一下使用Dx初始化,但并没有Set协作等级..
Od跟了一下
修改如下...

0041E4A8|.8B5424 64   mov edx,dword ptr ss:                  ;1    esp+60这个地方是全屏与窗口的关键
0041E4AC|.8B4424 44   mov eax,dword ptr ss:                  ;480
0041E4B0|.8B4C24 48   mov ecx,dword ptr ss:                  ;640
0041E4B4      52            push edx
0041E4B5      50            push eax                                       ;480
0041E4B6|.51            push ecx                                       ; |640
0041E4B7|.8D4E 14       lea ecx,dword ptr ds:                  ; |DYD
0041E4BA|.E8 51240000   call YL_NewSw.00420910                           ; \YL_NewSw.00420910

我把地址值改了一下...

效果如下



具体的过程就不写了,以免误人子弟...

剩下就可以好好研究是如何读包,解包了..

airxy 发表于 2010-5-31 13:11:13

谢谢分享,过来参观

盗花香 发表于 2010-5-31 20:43:14

剑侠情缘....

Nisy 发表于 2010-6-1 10:12:01

0041E4A8|.8B5424 64   mov edx,dword ptr ss:                  ;1   
esp+60这个地方是全屏与窗口的关键

这里数值为1的话 就是全屏么 那么为0的话 窗口大小取多少呢?

call YL_NewSw.00420910                           ; \YL_NewSw.00420910

YL_NewSw 这个函数就的DX的创建窗口么

我这有个DX游戏的源码 回头我也看一下 ~ 老兄的屏幕是 1600 * 1152 的么那IDA用起来好爽哦

canhen 发表于 2010-6-1 10:23:01

看不懂还要学习呀
页: [1]
查看完整版本: dx游戏窗口化