2012-01-15 39 views
3

我试图恢复使用Borland Turbo C++(版本未知,也许3.0,也许4.5?)构建的20世纪90年代的应用程序,并且显然针对Windows 3.1。任何方式来反编译古代编译器构建的二进制资源文件?

该项目包含一个.c文件和一个.res文件。我没有尝试定位古代编译器,而是将C源代码与MinGW gcc ver 4.5.2兼容,认为我可以重建它为win32。不幸的是,这是那些主窗口是对话框的窗口程序之一,对话框规范嵌入在.res文件中。当然现代的MinGW gcc并不了解旧的.res格式。

那么有没有办法从20世纪90年代的Borland .res文件恢复.rc文件?我知道编译这样的旧16位窗口代码会有其他问题,但我可以稍后处理它(它只有2K loc),现在绊脚石就是这个资源文件。

有点迟..

我发现 '的Turbo C 3.1',但是这件事情是跳闸。它实际上可以编译为16位窗口,由此产生的可执行文件需要NTVDM在XP下运行,但这个概念已被证明。尝试了一个简单的Windows hello世界,它的工作。

无论如何,问题仍然是.res文件!有一个项目(.prj)文件与上述材料,但它显然叫出.rc源文件。我知道使用gcc,我可以将一个已编译的资源文件链接到一个可执行文件,但是如果我能弄清楚“bcc”这个奇怪的命令行来执行它的话。要知道它有多古怪,bcc使用-W作为'创建Windows应用程序'的标志。这一定是可能的。有人记得吗?

(fwiw-我认为可能有更好的标签这一点。随意重新标记。)

+0

你可以发布.res文件吗?你究竟想要恢复什么?字符串?图片?对话框? – selbie 2012-01-15 02:14:35

+0

您是否尝试过使用:http://sourceforge.net/apps/mediawiki/owlnext/index.php?title=Convert_Borland_C%2B%2B_resource_files_to_Visual_C%2B%2B – OmnipotentEntity 2012-01-15 02:18:55

+0

您是否拥有.exe的副本?如果是这样,则可能更容易从.exe – cbranch 2012-01-15 02:20:14

回答

1

打开WATCOM C/C++的资源编辑器(wre.exe)似乎能够打开16位.res文件。如果最新版本无法完全工作(由于很少有人使用16位资源文件,这并不完全出乎意料),请尝试更早的版本。