jeb和jadx的比較雜談

jadx又是什麼鬼,衆所周知,在我們把smali轉成java源碼時通常是藉助d2j+jd-gui,或者是JEB1,這兩個軟件都有各自的優勢和缺陷,前者反編譯能力較弱,抗干擾能力很弱,對於一些嵌套循環的反編譯展示能力很差,後者反編譯能力極強,能夠代碼跟蹤,添加備註,方法重命名等等,相對於jd-gui,代碼邏輯性較強,比較友好,但也許是因爲是老版本的緣故,畢竟新版依然是2.0,部分情況下,jeb的代碼結構有點爛,其次變量名不友好,都是以v0,v1_1這樣展示的,需要手動修改,不太方便,那這個時候就出來一個jadx了,我們直接對比下

jd-gui效果:
在這裏插入圖片描述
結構及其混亂,友好度非常低,簡直無法直視

jeb1效果:
在這裏插入圖片描述
goto是什麼鬼,在java中早已摒棄了goto關鍵字,在c中,goto也是非常不推薦使用的,雖然邏輯感還不錯,但在恢復工程時,就有點頭疼了

看看我們大殺器,jadx:
在這裏插入圖片描述

強大的邏輯性,對於需要分析app的人員來說,這簡直太TM棒了,優雅的代碼展示效果,有意義的變量名,讓人一看結構就非常清晰,然而

jadx也是有不少缺陷的:
1:穩定性不夠高,依賴於jre,在反編譯大型apk時,容易假死和崩潰
2:不支持中文unicode顯示
3:抗干擾能力也一般,如下圖
在這裏插入圖片描述

jadx:https://github.com/skylot/jadx
本文轉載:https://www.52pojie.cn/thread-457835-1-1.html

下載地址:https://github.com/skylot/jadx/releases

jadx使用:
對於 Mac 或者 Linux,使用 jadx-gui ,Windows 下就需要使用 jadx-gui.bat 了,雙擊可以直接運行,如果有安全警告,忽略它就可以。

支持的文件類型apk、dex、jar、zip、class、aar,真的強大之前使用過的jd一百倍有木有。

這篇文章寫的很詳細:
https://blog.csdn.net/Fisher_3/article/details/78654450