一个反编译器的输入是一个可执行文件,并试图创造一个高层次,即做同样的事情编译,甚至可能维护的源文件。
因此,它是一个编译器,它接受一个源文件,并使得可执行的相反。然而,一般的反编译并不试图扭转反编译的每一个动作,而是将输入程序反复直到结果是高水平的源代码。因此,它不会重新创建原始源文件;可能没什么喜欢它。
它并不重要,如果可执行文件具有符号或没有,或从任何特定语言编译。 (不过,声明的语言,如ML不考虑。)
这样做的目的是创建一个可移植的反编译器(即一个可以反编译不同类型的机器代码文件微薄的努力,比如X86-窗口,SPARC-Solaris中,等)。它也意欲是高度模块化,从而使反编译的不同部分可以被替换为实验的模块。它的目的是要最终成为互动,一拉IDA Pro的,因为有些东西(不仅仅是变量名和评论,虽然这些显然是非常重要的)需要专家介入。是否交互所属的反编译或在一个单独的工具仍不清楚。
通过将各指令的语义,并利用强大的技术,例如静态单赋值数据流分析,飞镖应(主要)独立发生所使用的编译器的确切行为。优化应不影响结果。因此,我们的目标是一般反编译。
局限性:
·在你想尝试回旋镖,因为它是一个反编译器(而不是用它进行试验,或改进它)的情况下,应注意其严格的限制。截至2004年初,回旋镖只会反编译X86(的Linux / X86或Windows PE),SPARC(Solaris或Linux的推测/ SPARC),或Power PC(Linux的/ PPC或Mac OS / X)计划。特别要注意的是它不会反编译DOS或NE(Windows 3.1的)程序。添加另一个处理器是一个大的(数月)的事业。
·它只会生成C,而不是C ++。它将反编译的C ++,当然方案,(以及任何种类的程序,包括汇编)。您可以手动编辑一些C ++程序转化为可用的C ++源代码。对于MSVC编译的程序,目前你必须spoonfeed的反编译器,并告诉它有一个寄存器参数(thiscall调用约定)。开关来处理这是复杂的;看到使用-sf开关。
按类别搜索
热门软件
-
Autodesk Homestyler 15 Apr 15
-
antiX MX 1 Dec 17
-
Wifislax 9 Aug 16
-
Porteus MATE 12 Jan 17
-
ChaletOS 17 Feb 15
-
PlayOnLinux 9 Dec 15
-
Macpup 19 Feb 15
Boomerang
类似的软件
意见 Boomerang
按类别搜索
热门软件
-
Tor Browser 20 Jan 18
-
Yandex Browser 17 Feb 15
-
Ubuntu Touch 17 Feb 15
-
Android-x86 22 Jun 18
-
Solus 2 Sep 17
-
Midnight Commander 29 Nov 17
-
Distro Astro 17 Feb 15
评论没有发现