1. 程式人生 > >mac android apk反編譯

mac android apk反編譯

在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拖入即可,如下所示顯示:

終於完成了!!