在mac os系統上反編譯android apk,首先需要準備好以下3個文件: 1、apktool:https://ibotpeaches.github.io/Apktool/install/ 2、dex2jar:https://github.com/pxb1988/dex2jar 3、jd-gui ...
在mac os系統上反編譯android apk,首先需要準備好以下3個文件:
1、apktool:https://ibotpeaches.github.io/Apktool/install/
2、dex2jar:https://github.com/pxb1988/dex2jar
3、jd-gui:http://jd.benow.ca
下載好後,就可以開始我們的反編譯之路了:
1、安裝apktool:將下載的apktool.jar和apktool.txt(可能下載的不是這個名稱可以修改一下),apktool.txt需要另保存名稱為apktool(不需要sh和txt尾碼)可以執行以下命令:
touch apktool
cat apktool.txt >> apktool就行
然後將shell腳本apktool和apktool.jar移到/usr/local/bin文件夾下
sudo -s
mv 源文件 /usr/local/bin
然後執行apktool -v命令:如出現以下提示就說明成功了
2、dex2jar和jd-gui解壓即可;
3、執行命令apktool d apk文件:如
以下是生成的文件夾:
這個文件夾下可以看到apk中的資源文件,如圖片,xml文件等等,如果你只需要獲取圖片等資源文件那麼到這裡就可以了,若要進一步獲取java代碼的話就需要用到dex2jar和jd-gui工具了
1、要獲取java代碼的話就要進行回編譯(apktoo可以進行反編譯和回編譯),主要就是獲取classex.dex文件。
運行命令:apktool b 反編譯生成的文件夾
如:
會生成build文件夾:如
其中classes.dex文件就是我們所需要的了,不同的apk會生成不同數量的classes.dex文件,看大小和拆分了。
2、現在要用到我們的dex2jar這個工具了
d2j-dex2jar.sh和d2j_invoke.sh添加運行許可權:
chmod +x d2j-dex2jar.sh
chmod +x d2j_invoke.sh
然後運行命令./d2j-dex2jar.sh apk,如
之後可以在dex2jar文件夾中看到classes-dex2jar.jar文件,這個就是最終的java文件,那麼我們怎麼看呢,這就要用到我們下載的jd-gui了
3、打開jd-gui工具,將classes-dex2jar.jar拖入即可,如下所示顯示:
終於完成了!!