反向编译
计算机软件反向工程
计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。
定义
高级语言源程序经过编译变成可执行文件,反编译就是逆过程。
类型
反编译:机器码(汇编语言) → 高级编程语言
但是通常不能把可执行文件变成高级语言源代码
相关软件
编译是一个复杂的过程,反编译软件有:
VB相关的反编译程序
VBExplorer、VB反编译精灵和VBRezQ.
JAVA相关的反编译程序
JAD(Joint Application Development):(jad和jadEclipse已较长时间没有维护);
JD(Java Decompiler)
C++相关的反编译程序
Delphi相关的反编译程序
DEDE
c#:相关的反编译程序
Reflector
易语言相关的反编译程序
E-Code Explorer.exe(易格式可执行文件分析器)
SWF相关的反编译程序
Action Script Viewer
第一个也是最强大的商业SWF反编译工具,同类产品中,它的AS代码反编译效果最好,SWF转Fla工程重建成功率最高。
Android相关的反编译程序
SMALI/BAKSMALI
SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的虚拟机)来反编译和回编译classes.dex。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。
Python相关的反编译程序
uncompyle2
uncompyle2可以直接转化为十分完美的python源码,并可以将反编译后的源码再次生成字节码文件!
闪客精灵
(解析SWF,还原SWF文件为FLA文件)
希望能有更多语言的反编译程序和程序的效率、效果增添到此词条中,谢谢大家!
最新修订时间:2023-12-24 15:51
目录
概述
定义
类型
相关软件
参考资料