26款優(yōu)秀的Android逆向工程工具

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)地址:傳送門

下載地址:傳送門

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末袱蚓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子簇爆,更是在濱河造成了極大的恐慌癞松,老刑警劉巖爽撒,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件入蛆,死亡現(xiàn)場離奇詭異,居然都是意外死亡硕勿,警方通過查閱死者的電腦和手機哨毁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來源武,“玉大人扼褪,你說我怎么就攤上這事×黄埽” “怎么了话浇?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長闹究。 經(jīng)常有香客問我幔崖,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任赏寇,我火速辦了婚禮吉嫩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嗅定。我一直安慰自己自娩,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布渠退。 她就那樣靜靜地躺著忙迁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碎乃。 梳的紋絲不亂的頭發(fā)上动漾,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音荠锭,去河邊找鬼旱眯。 笑死,一個胖子當(dāng)著我的面吹牛证九,可吹牛的內(nèi)容都是我干的删豺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼愧怜,長吁一口氣:“原來是場噩夢啊……” “哼呀页!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拥坛,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蓬蝶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后猜惋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丸氛,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年著摔,在試婚紗的時候發(fā)現(xiàn)自己被綠了缓窜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡谍咆,死狀恐怖禾锤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摹察,我是刑警寧澤恩掷,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站供嚎,受9級特大地震影響黄娘,放射性物質(zhì)發(fā)生泄漏旦签。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一寸宏、第九天 我趴在偏房一處隱蔽的房頂上張望宁炫。 院中可真熱鬧,春花似錦氮凝、人聲如沸羔巢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竿秆。三九已至,卻和暖如春稿壁,著一層夾襖步出監(jiān)牢的瞬間幽钢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工傅是, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留匪燕,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓喧笔,卻偏偏與公主長得像帽驯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子书闸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評論 25 707
  • 我是大學(xué)本科畢業(yè)尼变,保險專業(yè)科班出生的對口型人員,順理成章的成為了一名保險從業(yè)人員浆劲。但細說下去嫌术,我是一名 保險經(jīng)紀(jì)人...
    officiallyman閱讀 4,588評論 4 8
  • 昨天和一個素未蒙面的大姐聊了很久,把埋在心底很久的事情說出來牌借,覺得有的時候真的不同的人對于相同的事情感覺就是不一樣...
    李蘇珊閱讀 330評論 0 0
  • 明天就上去廣州了度气,今晚要早睡。想自己一路走來走哺,一路布局蚯嫌,若是早點專攻一處,如今早已是功成名就丙躏。無論是專攻大學(xué)生實習(xí)...
    公子F閱讀 229評論 0 1
  • 字符實體 在 html 中對空格/回車/tab 不敏感,會把多個空格/回車/tab 當(dāng)作一個空格來處理 什么是字符...
    GodlinE閱讀 364評論 0 0