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

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 <

[email protected]>

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點選咖啡圖示即可)