1. SMALI/BAKSMALI
SMALI/BAKSMALI是一個強大的apk文件編輯工具,用于Dalvik虛擬機(Google公司自己設(shè)計用于Android平臺的虛擬機)來反編譯和回編譯classes.dex肌割。其語法是一種寬松式的Jasmin/dedexer語法敷待,而且它實現(xiàn)了.dex格式所有功能(注解匙瘪,調(diào)試信息醉顽,線路信息等)羊赵。
下載地址:傳送門
2. ANDBUG
Andbug是一款針對Android平臺的Dalvik虛擬機的調(diào)試工具独悴,工具基于jdwp協(xié)議,使用了python封裝混驰,其靈活性和可定制性對逆向工程師和開發(fā)人員而言可謂是神器級別的安卓安全工具攀隔。它與Android的Eclipse插件調(diào)試使用相同的接口,其Java 調(diào)試線協(xié)議(JDWP)和Dalvik調(diào)試監(jiān)視器(DDM)允許用戶監(jiān)視Dalvik虛擬機栖榨,檢查進程狀態(tài)昆汹。
不同于谷歌自己的Android軟件開發(fā)工具包調(diào)試工具,AndBug不要求源代碼婴栽。但是满粗,它需要使用python封裝,因為對于大多數(shù)重要的任務(wù)愚争,它需要使用一個腳本斷點(scripted breakpoints)的概念映皆,稱為“hooks”挤聘。
下載地址:傳送門
3. ANDROGUARD
androguard (也稱Android guard) 是 Android 應(yīng)用程序的逆向工程,提供惡意軟件分析等功能捅彻。其特征為:
使用DAD作為反編譯器组去;
可以分析惡意軟件;
主要由Python 編寫步淹;
支持可視化从隆;
androguard 支持:
DEX, ODEX;
APK贤旷;
Android的二進制XML广料;
Android資源文件砾脑;
分解的DEX/ODEX 字節(jié)幼驶;
DEX/ODEX 文件反編譯程序;
下載地址:傳送門
4. APKTOOL
APKTool是GOOGLE提供的APK編譯工具韧衣,能夠反編譯及回編譯apk盅藻,同時安裝反編譯系統(tǒng)apk所需要的framework-res框架,清理上次反編譯文件夾等功能畅铭。它可以完整解包APK氏淑,解包后你可以看到 APK 里面的聲明文件、布局文件硕噩、圖片資源文件假残、由 dex 解包出來的 smali 文件、語言文件等炉擅。如果你要漢化辉懒、修改界面、修改代碼的話谍失,apktool 可以幫你一站式完成眶俩。
特征:
反編譯資源文件到原始格式(包括resources.arsc,classes.dex快鱼,9.png以及XML等)颠印;
將解碼資源重建回二進制APK / JAR;
組織和處理依賴于框架資源的APK抹竹;
Smali調(diào)試(2.1.0中移除线罕,被IdeaSmali取代);
協(xié)助重復(fù)性任務(wù)窃判;
下載地址:傳送門
5. AFE
AFE(Android Frameworkfor Exploitation)是一個開源項目闻坚,運行在Unix-based 的操作系統(tǒng)中,能夠用來證明Android操作系統(tǒng)中存在安全漏洞兢孝,它還表明Android僵尸網(wǎng)絡(luò)是能夠存在的窿凤。使用AFE能夠非常容易的自動創(chuàng)建一個Android平臺的惡意軟件仅偎,發(fā)現(xiàn)應(yīng)用軟件的漏洞(例如Leaking Content Providers,Insecure FileStorage雳殊,Directory Traversal等)橘沥,以及在受感染的設(shè)備上執(zhí)行任意命令。
AFE包含兩個部分夯秃,PC端(以下稱為AFE)和手機端(以下稱為AFEServer)座咆。AFE大部分是完全使用Python編寫的。AFE是可擴展的仓洼,可以自由添加其他的模塊或者將已有的工具移植到AFE框架下介陶。AFEServer是一個在手機上運行的Android應(yīng)用,用來和AFE的Python界面進行連接色建,執(zhí)行AFE發(fā)送到手機的命令哺呜。
功能:
完善的命令行界面;
發(fā)現(xiàn)應(yīng)用漏洞箕戳;
自動化創(chuàng)建惡意應(yīng)用某残;
下載地址:傳送門
6. BYPASS SIGNATURE AND PERMISSION CHECKS FORIPCS
該工具通過使用Cydia Substrate為IPCs提供繞過簽名和權(quán)限檢查服務(wù)。
關(guān)于Cydia Substrate
Cydia Substrate是一個代碼修改平臺陵吸。它可以修改任何主進程的代碼玻墅,不管是用Java還是C/C++(native代碼)編寫的。
下載地址:傳送門
7. ANDROID OPENDEBUG
該工具利用Cydia Substrate將所有的應(yīng)用程序在設(shè)備上運行壮虫;一旦安裝任意應(yīng)用程序就會有一個debugger連接到它們澳厢。
注意:該工具只能在測試設(shè)備中使用!
下載地址:傳送門
8. DARE
Dare是賓州大學(xué)計算機系發(fā)布的apk逆向工程工具囚似,可以將Android系統(tǒng)中使用的apk文件反編譯為JavaClass文件剩拢,這些Class文件隨后可以通過現(xiàn)有的Java工具(包括反編譯)進行處理。目前支持Linux和Mac OS X中使用谆构。
下載地址:傳送門
9. DEX2JAR
dex2jar是一個能操作Android的dalvik(.dex)文件格式和Java的(.class)的工具集合裸扶。包含以下幾個功能
dex-reader/writer:用于讀寫 DalvikExecutable (.dex) 文件格式. 包含一個簡單的API(與ASM相似);
d2j-dex2jar:執(zhí)行dex到class的文件格式轉(zhuǎn)換搬素;
smali/baksmali:與smali工具功能一致呵晨,但是對中文更友好;
其他工具:字符串解密
下載地址:傳送門
10. ENJARIFY
Enjarify是由Google推出的一款基于Python3開發(fā)熬尺,類似dex2jar的反編譯工具摸屠,它可以將Dalvik字節(jié)碼轉(zhuǎn)換成相對應(yīng)的Java字節(jié)碼,有比dex2jar更優(yōu)秀的兼容性粱哼,準(zhǔn)確性及更高的效率季二。
下載地址:傳送門
11. DEDEXER
Dedexer是一款反編譯dex文件的開源工具。特征包含:
不需要在android模擬器中運行;
能夠?qū)ex文件按照java源代碼package的目錄結(jié)構(gòu)建好了目錄胯舷,每個class文件對應(yīng)一個ddx文件刻蚯;
可作為像jasmin一樣的反編譯引擎;
下載地址:傳送門
12. FINO
一款A(yù)ndroid動態(tài)分析工具桑嘶。
下載地址:傳送門
13. INDROID
該項目的目的是證實在nix 系統(tǒng)a.k.a ptrace函數(shù)上的一個簡單的調(diào)試功能可以被惡意軟件濫用炊汹,在遠程進程中注入惡意代碼。Indroid為基于ARM的 nix設(shè)備提供創(chuàng)建遠程線程(CreateRemoteThread)逃顶。
如果你想更深入地了解該框架讨便,可以點擊如下鏈接:
觀看Defcon 19相關(guān)視頻:傳送門
查看報告詳情:傳送門
CreateRemoteThread是創(chuàng)建一個在其它進程地址空間中運行的線程(也稱創(chuàng)建遠程線程)。
14. INTENT SNIFFER
Intent Sniffer工具可以在任何運行谷歌Android操作系統(tǒng)的設(shè)備上使用以政。在Android平臺中霸褒,Intent是應(yīng)用程序之間進行通信的最常用的方式之一,Intent Sniffer工具實現(xiàn)監(jiān)控運行時路由的廣播Intent盈蛮,也就是在系統(tǒng)上的應(yīng)用程序之間發(fā)送的Intent废菱。它并不監(jiān)控顯式廣播的Intent,而是默認(rèn)為(大多數(shù)情況下)無優(yōu)先權(quán)的廣播眉反。
該工具也能夠針對那些基于應(yīng)用反射和動態(tài)審查安裝程序的Intent來動態(tài)升級掃描的Action和Category昙啄。
下載地址:傳送門
15. INTROSPY
Introspy是一款黑盒測試工具穆役,幫助我們理解Android應(yīng)用程序在運行時的行為寸五,協(xié)助我們識別潛在的安全問題。
下載地址:傳送門
16. JAD
JAD是一款Java反編譯工具耿币,可以通過命令行把Java的class文件反編譯成源代碼梳杏。
下載地址:傳送門
17. JD-GUI
JD-GUI是一個獨立的顯示“.class” 文件Java源代碼的圖形用戶界面工具。用戶可以使用JD-GUI瀏覽和重建源代碼的即時訪問方法和字段淹接,以代碼高度方式來顯示反編譯過來的代碼十性。
下載地址:傳送門
18. CFR
CFR(Class File Reader),Java反編譯器塑悼,支持Java 8的lamda表達式劲适,Java 7 的字符串轉(zhuǎn)換等,開發(fā)者為LeeBenfield厢蒜。
下載地址:傳送門
19. KRAKATAU
Krakatau開發(fā)者為Storyyeller霞势,目前主要包含三個工具——java類文件的反編譯和反匯編工具,創(chuàng)建類文件的匯編工具斑鸦。
下載地址:傳送門
20. PROCYON
Java反編譯器和元編程框架Procyon可以在反編譯工具中立足愕贡,顯然是具有其獨到優(yōu)勢的。它有進行控制流分析巷屿,以及類型推斷固以,也支持java8特性,其開發(fā)者為Mike Strobel。
下載地址:傳送門
21. FERNFLOWER
Fernflower是一個對Java程序進行反編譯分析的利器憨琳。目前正處于開發(fā)階段诫钓,如有bug報告和改進建議可發(fā)送郵件至fernflower.decompiler@gmail.com
下載地址:傳送門
22. REDEXER
Redexer是Dalvik 字節(jié)碼(用于安卓APP)分析框架,它是一套基于OCaml的實用工具篙螟,幫助程序員解析尖坤,操作Dalvik虛擬機。Redexer由來自馬里蘭大學(xué)帕克分校的PLUM組織開發(fā)完成闲擦,主要作者是:Jinseong Jeon慢味,Kristopher Micinski以及Jeff Foster。
關(guān)于OCaml
OCaml是Caml編程語言的主要實現(xiàn)墅冷,由XavierLeroy纯路,Jérme Vouillon,Damien Doligez寞忿,Didier Rémy及其他人于1996年創(chuàng)立驰唬。
下載地址:傳送門
23. SIMPLIFY安卓反混淆工具
Simplify安卓反混淆工具實際上是通過執(zhí)行一個APP來解讀其行為,隨后嘗試通過優(yōu)化代碼來實現(xiàn)行為一致腔彰,但是更容易被人理解的目的叫编。每一種優(yōu)化類型都是非常簡單通用的,所以無論用的是什么特殊類型的混淆技術(shù)都沒關(guān)系霹抛。其主要由3部分組成:smalivm搓逾,simplify以及demo app。
下載地址:傳送門
24. BYTECODE VIEWER
Bytecode Viewer是一個高級的輕量級Java字節(jié)碼查看器杯拐,GUIProcyon Java 反編譯器, GUI CFR Java 反編譯器, GUI FernFlower Java 反編譯器, GUI Jar-Jar, Hex 查器看, 代碼搜索器, 調(diào)試器等霞篡。
這款開源工具完全采用Java編程語言進行開發(fā)。這款工具由Konloch設(shè)計并開發(fā)端逼,目前也主要是Konloch正在維護這一開源項目朗兵。
在這款工具中,還設(shè)計有一個插件系統(tǒng)顶滩,它可以允許你與加載的類文件進行交互余掖。比如說悟衩,你可以寫一個字符串的反混淆工具误堡,惡意代碼搜索器周荐,或者其他的一些你所能想到的東西击狮。
你不僅可以使用一個他人預(yù)先編寫完成的插件姨裸,而且你也可以使用你自己寫的插件吩坝。不僅如此彬呻,它還支持使用Groovy腳本叶雹,Python腳本着憨,以及Ruby腳本墩衙。當(dāng)插件狀態(tài)被激活之后,它會將每一個單獨的類文件加載進BCV中,這樣一來漆改,用戶就可以使用ASM來控制這些加載的類文件了心铃。
下載地址:傳送門
25. RADARE2
radare2是一款開放源代碼的逆向工程平臺,它可以反匯編挫剑、調(diào)試去扣、分析和操作二進制文件。
主要特點:
多平臺多架構(gòu)的樊破;
高度腳本愉棱;
十六進制編輯器;
IO包裹哲戚;
文件系統(tǒng)支持奔滑;
調(diào)試器支持等;
下載地址:傳送門
26. JEB FOR ANDROID
JEB是一個功能強大的為安全專業(yè)人士設(shè)計的Android應(yīng)用程序的反編譯工具顺少。用于逆向工程或?qū)徲婣PK文件朋其,可以提高效率減少許多工程師的分析時間。
特征表現(xiàn)為:
全面的Dalvik反編譯器脆炎;
交互性梅猿;
可全面測試APK文件內(nèi)容;
多平臺(支持Windows秒裕, Linux和Mac等操作系統(tǒng))
官網(wǎng)地址:傳送門
下載地址:傳送門