mac下 反編譯apk
使用apktool+dex2jar+jd-gui反編譯apk
1.安裝apktool
如果未安裝 下載apktool :
解壓apktool.zip,把apktool和apktool.jar放到usr/local/bin檔案下;
終端下輸入命令: apktool --v 如果有以下輸出,安裝成功:
Ambiguous option: '--v' (could be: 'version', 'verbose')
Apktool v2.3.3 - a tool for reengineering Android apk files
with smali v2.2.2 and baksmali v2.2.2
Copyright 2014 Ryszard Wiśniewski <
Updated by Connor Tumbleson <[email protected]>
1.1命令列進入*.apk檔案所在路徑: 輸入:apktool d *.apk;如( release git:(develop) ✗ apktool d release.apk)得到清單檔案和res下的資原始檔。
2.使用dex2jar; 如果未安裝下載(直接解壓zip即可)
2.1:把*.apk重新命名為*.zip,解壓zip可以看到classe.dex檔案;
2.2: 終端命令列 進入dex2jar-2.0所在目錄 ls
d2j-jar2jasmin.bat
d2j-baksmali.bat d2j-jar2jasmin.sh
d2j-baksmali.sh d2j-jasmin2jar.bat
d2j-dex-recompute-checksum.bat d2j-jasmin2jar.sh
d2j-dex-recompute-checksum.sh d2j-smali.bat
d2j-dex2jar.bat d2j-smali.sh
d2j-dex2jar.sh d2j-std-apk.bat
d2j-dex2smali.bat d2j-std-apk.sh
d2j-dex2smali.sh d2j_invoke.bat
d2j-jar2dex.bat d2j_invoke.sh
d2j-jar2dex.sh lib
要使用的就是d2j-dex2jar.sh;
在dex2jar-2.0目錄下 鍵入:sh d2j-dex2jar.sh */classes.dex ;例如(➜ dex2jar-2.0 sh d2j-dex2jar.sh /solftware/app-release/classes.dex)
輸出dex2jar /solftware/app-release/classes.dex -> ./classes-dex2jar.jar 則說明轉化成功
附註:如果使用sh d2j-dex2jar.sh */classes.dex命令,輸出為:d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied
直接輸入命令授權:sudo chmod +x d2j_invoke.sh
可以在dex2jar-2.0檔案下 有了個classes-dex2jar.jar檔案,直接把classes-dex2jar.jar拖到jd-gui裡,即可看到各種類檔案。
附註如果未安裝jd-gui 下載jd-gui (解壓,在jd-gui-osx-1.4.0點選咖啡圖示即可)