| 技术常见问题解答提示: 点击此处查看电脑错误 |
什么是decompiler ?
1 decompiler是一种程序,需时可执行代码和生产的源代码从它。
编译器创建可执行代码从源代码; decompiler试图扭转这一进程。
1 decompiler是一个专门版本的disassembler 。 而disassembler转换为可执行代码,以汇编语言, decompiler试图更进一步,转换成可执行代码的源代码在一个更高层次的语言,如C或C + + 。
decompilers
自食其果
目标是自食其果项目,是企图建立一个真正的decompiler机器代码程序,通过开放原始码社群。 1 decompiler需输入一个可执行文件,并试图创造一个高层次, compilable ,甚至可能维护源文件是否同一件事。 因此,这是相反的编译器,这需要源文件,并提出一个可执行文件。 不过,一般decompiler并不试图扭转每一个行动的decompiler ,而是变换输入程序多次,直到其结果是高层次的源代码。 因此,将不会再现原来的源文件;可能它是无可比拟的。 不要紧,如果可执行文件已符号或没有,或汇编成从任何特定的语言。 (但是,宣示性的语言一样毫升不考虑) 。
其意图是创造一个retargetable decompiler (即一可以反编译不同类型的机器代码文件与温和的努力,例如x86的Windows中, SPARC的的Solaris等) 。 也有人打算予以高度模块化,使不同部分的decompiler可以取代与实验模块。 它的意图是为了最终成为互动,香格里拉开发协会亲,因为有些事情(不只是变数名称和评论,虽然这显然是非常重要的)需要专家干预。 是否属于互动,在decompiler或在一个单独的工具,仍不清楚。
转化的语义个别的指示,用强大的技术,如静态单一指派的数据分析,自食其果应该(在很大程度上)独立的确切行为的编译器所发生的可使用。 优化,应不会影响结果。 因此,目标是一个普遍的decompiler 。
书签什么是decompiler ?

