Android逆向工程用到的工具

第一套組合(入門級組合)

Apktool + dex2jar + jd-gui

可惜的是apktool好像后來不再支持調(diào)試Smali文件,jd-gui 作者從 2015 年開始就停止了維護(hù).

但是AndroidStudio有個(gè)調(diào)試Smali的插件 地址 https://github.com/JesusFreke/smali/wiki/smalidea
據(jù)說jadx 不錯(cuò)(推薦使用),可以取代 jd-gui 地址 https://github.com/skylot/jadx

Google 出的幾個(gè)逆向分析工具

  1. enjarify

https://github.com/google/enjarify
功能:可直接將 apk 文件還原成為 jar 文件,也可以和 dex2jar 一樣,直接操作某個(gè)dex

這是 Google 出品的一個(gè)逆向分析工具,從反編譯成 jar 包的流程來說,要比 dex2jar 方便得多。下載完工具到本地并配置好 Python 環(huán)境后,需要修改 enjarify 目錄下的 enjarify.bat 文件,將 python3 改為 python

  1. ClassyShark

https://github.com/google/android-classyshark

功能:可直接瀏覽 Apk,支持對.dex, .aar, .so,.apk, .jar, .class等文件的操作。

同是Google出品,但是只能看到方法聲明,沒法看到方法的定義。

java -jar ClassyShark.jar -open XXX.apk

  1. AndroidStudio2.2 (APK Analyzer)

在Android Studio2.2 中添加了個(gè)新的功能Build -->analyze apk ...
然后選擇你要分析的 APK 文件就可以了。但是只能看到方法聲明,沒法看到方法的定義。

me

procyon 和 cfr 和 Jad ,這些主要專注于jar的反編譯

  1. orocyon 和 cfr 和 Jad

當(dāng)然這幾個(gè)不是Google的產(chǎn)物,這幾個(gè)是jar.class 反編譯工具。為啥要用這些,因?yàn)閖d-gui,反編譯java7會有問題。有些語法有點(diǎn)讓人難以讀懂。但是他有圖形化界面剩下的這幾個(gè)都沒有。

procyon 反編譯jar包命令:(我用的是這個(gè),比jd-gui好很多真的)

$ java -jar procyon-decompiler-0.5.30.jar -jar myJar.jar -o out

cfr 反編譯jar包命令:

java -jar cfr_0_79.jar example.jar -–outputdir out

2.bytecode-viewer 這是個(gè)套裝

再來一個(gè)基于Procyon的項(xiàng)目 bytecode-viewer
A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More) https://bytecodeviewer.com. 不知道如何沒用過。

  1. Jadx

強(qiáng)烈推薦這個(gè)玩意,反編譯后的代碼可讀性好,自帶圖形化界面。

這個(gè)是一款GUI界面的反編譯工具,是一款點(diǎn)擊鼠標(biāo)就可以使用的跨平臺工具。

項(xiàng)目在這里

JEB for Android


非常不錯(cuò),但是不開源,不免費(fèi)官網(wǎng)

smalidea

這個(gè)是AndroidStudio的插件,下載地址下載 smalidea-x.x.x.zip下載最新版本的就行。這個(gè)插件主要用來動態(tài)調(diào)試smali代碼的。非常好用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容