Jadx使用

破解范圍:apk、dex、jar、zip、class、aar?

搜索功能可以點(diǎn)擊 Navigation -> Text Search 或者 Navigation -> Class Search 激活它 。jadx 的搜索,支持四種維度,Class、Method、Field、Code

搜索在哪里被調(diào)用: 找到我們需要查看的類或者方法,選中點(diǎn)擊右鍵,選擇 Find Usage。查看某一種方法在哪里被調(diào)用

反混淆deobfuscation: 這個(gè)功能可以在 Tools -> deobfusation 中激活。標(biāo)記混淆后的 方法名稱。

一鍵導(dǎo)出gradle工程:可以通過(guò) File -> Save as gradle project 來(lái)激活這個(gè)功能。

jadx 錯(cuò)誤處理:

inconsistent code :有時(shí)候有代碼,反編譯的不完整,你會(huì)看到 JADX WARNING : inconsistent code 標(biāo)志的錯(cuò)誤。

解決方案:開(kāi)啟 Show inconsistent code 開(kāi)關(guān)。你可以在 File -> Preferences 中找到它。

由于內(nèi)存不足引起的錯(cuò)誤:

官方對(duì)于這樣因?yàn)閮?nèi)存不足引發(fā)的問(wèn)題,也提供了一些解決方案。

1、減少處理的線程數(shù)。

jadx 為了加快編譯的效率,所以是使用多線程處理的,而多個(gè)線程會(huì)耗費(fèi)跟多的內(nèi)存。所以減小反編譯時(shí)候的線程數(shù),是一個(gè)有效的方法。

如果使用命令行的話,可以使用-j 1參數(shù),配置線程數(shù)為 1,不配置的話,默認(rèn)線程數(shù)為 4。

而使用 jadx-gui 的話,可以在 Preferences 中,通過(guò)配置 Processing threads count 來(lái)配置線程數(shù)。

2、修改 jadx 腳本

直接編輯 ./bin 目錄下的 jadx 腳本,配置找到 DEFAULT_JVM_OPTS ,將它設(shè)置為DEFAULT_JVM_OPTS="-Xmx2500M",就可以配置當(dāng)前使用的內(nèi)存大小。

如果是 Windows 系統(tǒng),你需要編輯 jadx.bat 文件。

3、使用命令行命令

如果以上方式都不好用,在沒(méi)有更好的辦法的情況下,你可以直接使用命令行,通過(guò) jadx 的命令進(jìn)行放編譯。并將線程數(shù)配置為 1 ,這樣雖然慢一些,但是多數(shù)情況下,是可以正常輸出反編譯后的代碼的。

舉個(gè)例子:

jadx -d out -j 1 classes.dex

更過(guò)命令,可以通過(guò)jadx -h命令進(jìn)行查看。

jadx-help

仔細(xì)看看 jadx 命令配置的參數(shù),基本上都可以在 Preferences 中,找到對(duì)應(yīng)的配置項(xiàng),相互對(duì)照理解一下,應(yīng)該不難發(fā)現(xiàn)它的使用方式。

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

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

  • 一、前言 今天介紹一個(gè)非常好用的反編譯的工具 jadx 。jadx 的功能非常的強(qiáng)大,對(duì)我而言,基本上滿足日常反編...
    承香墨影閱讀 33,800評(píng)論 4 34
  • 前言 為什么要反編譯別人的代碼 人家比咱寫(xiě)的好,學(xué)習(xí)? 了解別人某個(gè)功能實(shí)現(xiàn),參考? 看中了人家的本地?cái)?shù)據(jù)庫(kù)或者其...
    青松0808閱讀 37,777評(píng)論 2 45
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,384評(píng)論 0 5
  • error code(錯(cuò)誤代碼)=0是操作成功完成。error code(錯(cuò)誤代碼)=1是功能錯(cuò)誤。error c...
    Heikki_閱讀 3,547評(píng)論 1 9
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,694評(píng)論 1 32

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