Android 反編譯APK詳解
阿新 • • 發佈:2019-02-18
1.反編譯工具:下載
1.1 apktool:反編譯資原始檔
1.2 dex2jar-2.0:反編譯java程式碼
1.3 apk檔案:待反編譯的檔案
2.反編譯流程:2.1 反編譯資原始檔
① 將要編譯的apk檔案複製到解壓後的apktool目錄下② 解包:開啟控制檯(Windows + R ,輸入cmd) ; 定位到apktool的資料夾; 輸入命令列:apktool d -f xxx.apk -o 資料夾名字;
資料夾中就是app的資原始檔
③ 重新打包APK(不是必要步驟)
在apktool目錄下的終端中繼續輸入命令列:apktool b 資料夾(②中的資料夾名字);
java -jar signapk.jar testkey.x509.pem testkey.pk8 XXX.apk XXX_signed.apk
然後開啟資料夾Auto-sign資料夾下的Sign.bat,在這裡有兩種情況:如果報錯:FileNotFindException,就需要修改Sign.bat這個檔案,用記事本開啟這個檔案,修改對應的apk路徑,然後再次執行命令列,點選Sign.bat;
如果沒有報錯,點選Sign.bat這個檔案會顯示如下:
____________________________________________________________________________________ 2.2 反編譯原始碼 ① 將apktool資料夾下的apk檔案更改字尾名為.zip或者.rar:
② 解壓這個檔案到到一個資料夾(最好不要解壓到當前資料夾),解壓之後會得到一個classes.dex檔案:
③ 將classes.dex檔案複製到與 apktool 同級目錄的資料夾 dex2jar-2.0 下面,替換原來的classes.dex
④ 開啟終端,定位到資料夾 dex2jar-2.0 這個下面,執行命令:
d2j-dex2jar classes.dex之後,會看到資料夾dex2jar-2.0 下面有一個 classes-dex2jar.jar 檔案,如果③中的沒有刪除掉這個檔案,可能會有異常。
⑤ 檢視原始碼,上步驟生成的 classes-dex2jar.jar 就是我們要的原始碼,用資料夾dex2jar-2.0 下面的 jd-gui.exe 開啟即可檢視原始碼了。
接下來就是著看這些混過的abcdef...的程式碼了