反向編譯

反向編譯

計算機軟體反向工程(Reverse engineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(比如可執行程序)進行“逆向分析、研究”工作,以推導出他人的軟體產品所使用的思路、原理、結構、演演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

定義介紹


高級語言源程序經過編譯變成可執行文件,反編譯就是逆過程。

類型介紹


反編譯:機器碼(彙編語言) → 高級編程語言
但是通常不能把可執行文件變成高級語言源代碼。

軟體


反編譯是一個複雜的過程,反編譯軟體有:
VB相關的反編譯程序
VBExplorer、VB反編譯精靈和VBRezQ.
JAVA相關的反編譯程序
JAD(Joint Application Development):(jad和jadEclipse已較長時間沒有維護);
JD(Java Decompiler)
C++相關的反編譯程序
eXeScope
Delphi相關的反編譯程序
DEDE
c#:相關的反編譯程序
Reflector
易語言相關的反編譯程序
E-Code Explorer.exe(易格式可執行文件分析器)
SWF相關的反編譯程序
Action Script Viewer
第一個也是最強大的商業SWF反編譯工具,同類產品中,它的AS代碼反編譯效果最好,SWF轉Fla工程重建成功率最高。
Android相關的反編譯程序
SMALI/BAKSMAL I
SMALI/BAKSMALI是一個強大的apk文件編輯工具,用於Dalvik虛擬機(Google公司自己設計用於Android平台的虛擬機)來反編譯和回編譯classes.dex。其語法是一種寬鬆式的Jasmin/dedexer語法,而且它實現了.dex格式所有功能(註解,調試信息,線路信息等)。
Python相關的反編譯程序
uncompyle2
uncompyle2可以直接轉化為十分完美的python源碼,並可以將反編譯后的源碼再次生成位元組碼文件!
閃客精靈
(解析SWF,還原SWF文件為FLA文件)

VB程序

VBExplorer、VB反編譯精靈和VBRezQ.

JAVA程序

JAD(Joint Application Development):(jad和jadEclipse已較長時間沒有維護);
JD(Java Decompiler)

C程序

eXeScope

Dephi程序

DEDE

c程序

Reflector

易語言程序

E-Code Explorer.exe(易格式可執行文件分析器)

SWF程序

Action Script Viewer
第一個也是最強大的商業SWF反編譯工具,同類產品中,它的AS代碼反編譯效果最好,SWF轉Fla工程重建成功率最高。

閃客精靈

(解析SWF,還原SWF文件為FLA文件)
希望能有更多語言的反編譯程序和程序的效率、效果增添到此詞條中,謝謝大家!