2012-01-31 74 views

回答

5

可能是Boomerang可以有一定的幫助。

+0

+1謝謝你的! [*編輯:*哦,該項目看起來相當死亡...] – 2012-01-31 01:08:00

+0

它已經死了,但我只是給了,因爲至少它是OP想要的東西。 – 2012-01-31 01:11:07

1

沒有「源代碼」這樣的東西。該程序可以通過多種方式組裝。 (例如,它可以用Pascal,COBOL,甚至直接用機器代碼編寫)。你可以做的最好的事情是「拆卸」程序,即用可讀的彙編器助記符來翻譯機器代碼。如果你對如何實現編譯器有着深刻的理解,那麼你很可能會認識到通常的模式並推斷某種等效的C代碼。

有些工具根據這些知識使用啓發式方法,並使過程自動化。我不知道任何開源的,但我認爲​​朝着這個目標邁進了一步。

1

HH,如果你的意思是轉換回彙編源代碼,是有很簡單的方法來做到這一點(在Linux maxhines):objdump --disassemble <binaryname>,你肯定可以使用一些窗口disassembler

你的意思是原始C源代碼,有兩種選擇。當你試圖反轉使用調試符號(例如gcc -g ...)編譯的應用程序時,你應該能夠通過調試器獲得源代碼(在gdb中它將是這樣的命令:disassemble /m)。

如果你不使用它們...比你應該谷歌爲reverse engineering :)

相關問題