安裝jdk8
brew cask install adoptopenjdk8
安裝jadx
編譯安裝
git clone https://github.com/skylot/jadx.git cd jadx ./gradlew dist
-
然后將build/jadx/bin加入到環境變量。
|
1
2
3
|
export JADX_HOME
=
/
Users
/
jadx
/
build
/
jadx #以自己的路徑為准
export JADX_BIN
=
$JADX_HOME
/
bin
export PATH
=
$PATH:$JADX_BIN
|
開始反編譯
等完畢后,可以開始了,我就介紹個最簡單最常用的用法
- 把apk改成zip
- 解壓zip獲取class.dex文件
- 將classes.dex文件放到jadx目錄下
|
1
2
3
4
|
cd build
/
jadx
/
jadx
-
d out classes.dex
# 反編譯后放入out文件夾下(如果out不存在它會自動創建)
jadx/build/jadx/bin/jadx
jadx
-
gui classes.dex
# 會反編譯,並且使用gui打開
|
使用jadx
jadx也有GUI,直接雙擊bin目錄下的jadx-gui,然后選擇要反編譯的apk即可,運行效果如下。
jadx_gui如果要保存源碼,選擇File->Save ALL即可保存文件,然后就可以導入Android Studio等IDE中。 我們也可以直接使用命令行反編譯apk文件:
-
jadx -d out classes.dex #直接輸出.java文件到out目錄 jadx-gui classes.dex #使用gui打開
在反編譯較大的apk時,如果遇到jadx-jui卡頓和假死的情況,可適當優化jvm相關參數, 我直接在~/.bash_profile中加上了如下語句:
-
export JVM_ARGS="-Xmx4096m -XX:MaxPermSize=1024m"
轉載於:https://www.cnblogs.com/c-x-a/p/11051466.html
