2013-11-22 118 views
2

我有幾十年前由一個古老的16位DOS應用程序編寫的一些關鍵數據。 沒有文檔,沒有來源,也沒有關於作者的信息。只是16位EXE。 我想是時候學習如何反編譯東西了,因爲它似乎是恢復文件格式的唯一方法。 我試過OllyDbg,它看起來非常棒,但它不能16位。反編譯1990年DOS應用程序

那麼,是否有反彙編程序/調試器能夠處理這樣的可執行文件? 謝謝。

UPD:我知道DOSbox,應用程序運行在它的所有權利。問題是,我不需要運行它,我需要了解它寫入數據的文件格式。或者,也許我不知道DOSbox的一些情況,它也可以作爲調試器/反編譯器運行?或者你的意思是在DOSbox中啓動一些舊的16位DOS調試器/反編譯器?後者聽起來像是一個想法,但是請你說出一個像樣的DOS調試器,然後呢?

+0

你試過DOSBox了嗎?我會嘗試模擬正確的環境,反編譯將會更加困難。 – blindstuff

+2

如果您告訴我們DOS程序的名稱,有人可能會認出它。 –

+0

@AndrewMorton這個機會接近於零,因爲它是由博士生撰寫的論文,並沒有通過任何方式分發。這就是所謂的'OMWE.EXE',所以是的 – ScumCoder

回答

1

你不一定需要爲了弄清楚其中寫入數據的格式拆解程序獲得這方面的更多幫助。

也許你可以對它做差異分析。改變程序的一些輸入,讓它寫入數據,並觀察文件如何改變。

我這裏有一些老式的硬件設備,可在轉儲MIDI其NVRAM設置二進制格式(在一種情況下,在它的二進制BLOB單SysEx信息)。如果我想知道格式是什麼,我想,對設置進行小的,系統的變化,並進行轉儲,然後看到在二進制數據什麼位正在發生變化。

你真的可能是最好的攻擊數據,而不是程序。

+0

謝謝,但該程序旨在保存來自軌道測試鐵路車輛的幾個傳感器的數據。 (即使它仍然存在,在其他國家)。所以是的,在我的情況下攻擊數據的可能性不大。 – ScumCoder

2

拆卸工具:

使用IDA軟件https://www.hex-rays.com/products/ida/support/download_freeware.shtml 你不會找到逆轉的任何更好的工具 - 即使是老的DOS程序:)

其它大部分工具都只能做拆解爲32位和不要以任何方式無法達到分析IDA的功能 - 逆向工程的金標準工具

調試器: DOSBox中(通過在命令行中的「調試」命令到達)有它自己的內置調試器 但喲ü需要激活調試器(奧得更好重調試),以建立自己的DOSBox的版本中看到:http://www.vogons.org/viewtopic.php?t=3944

,或者如果你有與SDK中的IDA牌照有一個DOSBox中< - 可用> IDA的調試器插件 目前僅Linux https://github.com/wjp/idados

文件格式: 你知道什麼該文件包含(你從文件中想要什麼) 非常複雜的信息或「只是」一些值列表?

也許它能夠更好地在這裏開始的十六進制編輯器(http://mh-nexus.de/de/hxd/)和已知結果值比較

目前哪些程序使用的數據(或僅程序本身)?也許它有可能瞭解這個程序中的數據是如何讀取的?

程序本身: exe有多大? 控制檯程序或一個大超級gfx電源應用程序? 真正的16位或32位與dos擴展? 單個exe或覆蓋(dos-dlls)?

你可以授予訪問可執行文件嗎?

輪到你

+0

Necroposting模式: 我試圖反編譯一個16位應用程序,並且我無法使用IDA/Hex射線進行此操作。使用6.8。 – merinoff

相關問題