Android反編譯之jadx

技術是一個需要不斷學習和積累的過程,除了研究底層源碼以外,有時候借鑑別人的代碼也是學習的一部分;今天介紹一款好用的反編譯軟件----jadx;記錄自己的學習歷程;

首先,我找到了dex2jar、apktool、jd-gui;這三種配合使用也可以完成反編譯;但是步驟繁瑣,使用的工具也麻煩;

而jadx只需要一步到位,而且圖形化界面,找代碼的話也很方便。

安裝

jadx在github上開源了,所以我們可以直接去下載了

https://github.com/skylot/jadx

點擊進行下載,也給大家準備了現成的,大家可以自行下載

https://download.csdn.net/download/upuprita/11060376

下載完解壓後可以看到如下目錄

進入bin目錄下,雙擊jadx-gui.bat即可運行

簡單使用

單擊左上角文件目錄-->打開-->選擇你要反編譯的apk文件

即可看到對應的資源和大部分邏輯代碼。

全局查找

Ctrl+Shift+F

查找類

jadx可以在應用它的類中跳轉到他的主類中

按住Ctrl,鼠標移動到要跳轉的類名字上,左鍵單擊跳轉

反混淆

我們在打包的時候都會對apk進行混淆,但是我們在閱讀代碼的時候被混淆後的代碼的類名都是用abc命名的,這樣使我們的閱讀體驗非常不好,所以,在這裏,jadx還幫助我們反混淆,雖然有些名字反混淆後還是不規範,但是爲我們理解代碼提供了很大的幫助,操作辦法:工具-->反混淆

反混淆前:

反混淆後:

導出Gradle文件

jadx中操作代碼始終沒有在編輯器中方便,jadx考慮到這一點,故提供了可以將項目導出成gradle文件:文件-->另存爲Gradle項目,導出後

src目錄下main下:

可以看到資源文件、清單列表、等大部分代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章