linux下的APK反編譯軟件及過程介紹 .
需要工具:
1.apktool apk打包工具
下載地址:https://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2
安裝:直接解壓即可,是一個apktool.jar文件,通過
- $java -jar apktool.jar
$java -jar apktool.jar
來運行,依賴於java運行環境
2.dex2jar dex轉化jar工具
下載地址:https://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip
安裝:直接解壓即可,是一個文件夾,裏麵包含了很多文件,通過
- $./dex2jar.sh
$./dex2jar.sh
來運行
3.如果你沒有unzip,安裝此解壓工具, zip解壓縮工具,用於解壓jar包(jar包是zip壓縮的,所以可以用其它工具代替)
下載地址:ubuntu $sudo apt-get install unzip
安裝: $sudo apt-get install unzip
- $upzip [src_path] -d [dst_path]
$upzip [src_path] -d [dst_path]
來運行
4.jad .class文件反編譯工具
下載地址:https://www.varaneckas.com/jad
https://varaneckas.com/jad/jad158e.linux.static.zip
安裝:直接解壓即可,是一個可執行文件,通過
./jad
來運行。需要說明的是,這個需要下載static版本的,如果不行的話,在去第一個鏈接裏找另一個下載。
接下來,工具準備完畢了,最好設定一下環境變量,我們就可以反編譯apk了
一、抽取apk資源
執行: $java -jar apktool.jar d [source.apk]
二、反編譯源碼
(1)解壓apk
- $unzip [source.apk] -d [step_1]
$unzip [source.apk] -d [step_1]
step_1指的是你所需要解壓到的目錄
(2)進入step_1 目錄,找到classes.dex文件,將dex文件轉化成jar文件
- $dex2jar.sh classes.dex
$dex2jar.sh classes.dex
(3)獲得一個classes_dex2jar.jar文件,我們現在要再度解壓這個文件
- $upzip classes_dex2jar.jar -d [step_3]
$upzip classes_dex2jar.jar -d [step_3]
step_3指的是你解壓到的目錄
(4)我們獲得一個step_3目錄,我們接下來要反編譯該目錄下所有.class文件
- $./jad -o -r -s java -d src step_3/**/*.class
$./jad -o -r -s java -d src step_3/**/*.class
對於上麵的參數,可以直接執行./jad查看,或者Readme.txt查看
(5)我們再度獲得一個src目錄,該目錄下就是反編譯好的源碼文件了。
也可以使用JD-GUI工具直接查看classes_dex2jar.jar的class文件。
如果以上命令不執行的話,查看目錄是否正確。
最後更新:2017-04-03 07:57:08