2012-01-15 71 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位資源文件,這並不完全出乎意料),請嘗試更早的版本。