-
反向編譯
鎖定
計算機軟件反向工程(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是一個強大的apk文件編輯工具,用於Dalvik虛擬機(Google公司自己設計用於Android平台的虛擬機)來反編譯和回編譯classes.dex。其語法是一種寬鬆式的Jasmin/dedexer語法,而且它實現了.dex格式所有功能(註解,調試信息,線路信息等)。
Python相關的反編譯程序
uncompyle2可以直接轉化為十分完美的python源碼,並可以將反編譯後的源碼再次生成字節碼文件!
閃客精靈
(解析SWF,還原SWF文件為FLA文件)
希望能有更多語言的反編譯程序和程序的效率、效果增添到此詞條中,謝謝大家!
- 參考資料
-
- 1. 26款優秀的Android逆向工程工具 .freebuf.2016-08-17[引用日期2017-04-18]
- 2. plat 使用uncompyle2直接反編譯python字節碼文件pyo/pyc .cnblogs.2014-01-17[引用日期2017-04-18]