2012-01-31 36 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 :)

相关问题