反编译 windows 3.1, VisualBasic 3 exe。我也需要反编译dll吗?如何?

逆向工程 视窗 反编译 dll 视觉基础 ne
2021-07-12 00:28:55

新的反编译,和一般的代码。尝试反编译 Windows 3.1 游戏(文本冒险),以便我可以再次构建它。因为目前它不起作用(即使在 Windows 3.1 上)。

我用DoDi(7z 文件)反编译了 exe,这是在 SO这个问题的答案之一中推荐的

这在反编译 exe 时引发错误“发生了已知错误”。可能不是很有帮助,但我提一下以防万一。

因此,它可以很好地反编译为.mak,.frm.bas文件。在纠正了一些语法问题后,我在 Visual Basic 4 中再次编译了该程序,但我得到了一个完全非交互式的窗口,其中没有任何按钮可以工作。

这让我认为它需要与 dll 中的代码对话,但实际上并没有这样做。DoDi 不会反编译 dll,我还没有找到可以处理 16 位(NE/新的可执行文件)dll 的反编译器。

所以,我假设我也需要反编译这个 dll。如何?游戏文件在 draquest.zip存档在这里

1个回答

所以,我假设我也需要反编译这个 dll。

正如 Guntram 所说,不,您不需要反编译 VBX 文件。

因此,它可以很好地反编译为 mak、frm 和 bas 文件。在纠正了一些语法问题后,我在 Visual Basic 4 中再次编译了该程序,但我得到了一个完全非交互式的窗口,其中没有任何按钮可以工作。

窗口的窗体在 中定义,ONLYFORM.FRM窗体的事件处理程序的代码在 中ONLYFORM.bas如果事件处理函数没有被触发,很可能是因为处理函数没有在ONLYFORM.FRM. 但是,您已经拥有代码,因此有关如何修复事件处理程序注册的任何未来问题都应转到https://stackoverflow.com/