我要开始资源分析的第三个系列了,不晓得有没有人期待这个,估计不多, 因为我只是在好奇我儿时的游戏里都有些什么。这次的游戏更加冷门了, May-be Soft 的 Coming Heart,但是更有挑战性, 因为这是一个 windows 3.x 上面的游戏,不过可以在 win9x 系统上运行。 本系列主要用到的工具是 Turbo Debugger for Win32, 如果你碰巧也想学习 tdw 如何使用,那么我们一起开始吧。
dosbox 这次帮不了我们什么忙了,所以我们首先要从安装系统开始:
我是在 PCem 上安装中文 Win98 的,当然无「外力」介入的情况下, 这样会有文字显示的问题,不过我们不是为了玩游戏,这个无所谓。 当然也可以安装日文 Win98,对于我来说安装中文系统更方便一点。 另外,选择 PCem 前我其实也用过 dosbox-x 来安装 Win98,安装系统没有问题, 但是安装还是运行 debugger 时蓝屏了,所以我放弃了 dosbox-x。
调试 win16 的程序需要在 Win98 上安装专用的调试器程序, 这个我们选择了当时的主流工具 Borland C++ 5.0, BC5 中包含了 Turbo Debugger for Win32,所以我们完整安装 BC5 就好, 记得那时候的经典操作:「安装后重启」。喔另外再唠叨一点, 对于这种我们不熟悉但是很重要的软件,我个人建议完全按照默认设置安装, 不要自订安装、不要更改安装目录,多数情况下可以给我们减少不少麻烦。
这个直接插入光盘安装就好,默认安装的话,程序的目录在 C:\WINCH 下
这是一个反编译的工具,可以安装在现代系统上,可以查看汇编以及反编译后的代码, 也有图形化的调用关系显示,方便我们理解代码流程。注意,这个不是装在虚拟机中的, 直接装在我们的主机上就好。
启动 TDW,注意取消汉字显示的按钮,这样文字 UI 才能正常显示, 我们点击 File 菜单中的 Change dir…:
指定目录为 C:\WINCH:
点击 File / Open…:
点击 Browse:
选择 maplwin.exe,点击 OK:
点击 OK:
tdw 会提示我们没有符号表,很正常,因为我们没有程序代码,点击 OK:
这时,我们就停留在程序的入口了,我们可以点击右上角向上的箭头,让窗口撑满:
对比一下 cutter 的入口:
完全相同!
现在我们已经有了可以调试游戏的环境,接下来,我们就可以正式开始调试程序了。