一、首先、需要下面三個工具 反編譯資源
1、APKTool: 反編譯資源。
2、dex2jar: 反編譯代碼,把dex文件轉成jar文件。
3、jd-gui:查看jar文件。
二、安裝
APKTool:進入apktool文件夾中,可以看到apktool,apltool.jar和aapt三個文件,將這三個文件拷貝到/usr/local/bin中。
dex2jar:解壓就行,在mac上我們需要用到dex2jar的是這三個東西(windows上對應用bat文件): 1、d2j_invoke.sh 2、d2j-dex2jar.sh 3、lib
jd-gui:不需要操作
三、使用
準備就緒 需要一個Apk文件
-
使用ApkTool進行反編譯資源 :
1、打開終端,輸入命令cd xxxx/xxxx ,進入所要反編譯的apk文件夾
2、輸入命令apktool d xxxx.apk,反編譯apk,一頓操作之后會生成一個新的文件夾,名稱和apk的名稱一樣,打開后里面有AndroidManifest.xml文件和res文件夾,里面為反編譯后的資源文件
-
使用dex2jar jd-gui反編譯Java代碼
1、打開終端,輸入命令cd xxx/xxx/dex2jar,進入下載的dex2jar文件夾中
2、輸入命令
sh d2j-dex2jar.sh xxx/xxx/..app.apk
,進行反編譯classes.dex文件,操作完成后,會在dex2jar文件夾中生成一個classes-dex2jar.jar文件。3、有可能會出現
./d2j_invoke.sh: Permission denied
這樣的問題,再繼續輸入sudo chmod +x d2j_invoke.sh
即可。(具體路徑因人而異)。 (也可以先將Apk轉成Zip解壓,然后獲取classes.dex,將命令行中的apk 路徑緩存.dex,這種方式會額外反編譯出,BuildConfig和R 文件 ). 3.打開jd-gui文件,將classes-dex2jar.jar拖入jd-gui界面上,就能夠看到Java文件了。