1. 下載下傳工具
dex2jar下載下傳位址:http://code.google.com/p/dex2jar/downloads/list
JD-GUI下載下傳:http://java.decompiler.free.fr/?q=jdgui
apktool :https://code.google.com/p/android-apktool/downloads/list
2. 通過dex2jar将apk轉換為jar檔案
- 從apk中抽取classex.dex檔案
雖說dex2jar可以直接從apk抽取出jar檔案,但是會經常遇到一些問題,是以常用的方法是将.apk檔案,重命名為.zip,解壓縮後,找到classes.dex檔案
- 運作dex2jar生成.jar檔案
cmd
cd C:\Users\Administrator\Desktop\dex2jar-0.0.9.13
dex2jar.bat classes.dex
生成classes.dex.dex2jar.jar
3. 通過jd-gui将jar檔案反編譯為java檔案
運作jd-gui,打開檔案classes_dex2jar.jar,可以看到源碼,同時,你還可以通過Save Source或SaveAll Source,将源碼進行儲存。
4. apktool這是把apk應用解壓縮的工具,解壓縮後可以看到apk檔案的xml布局檔案和圖檔等等,也就是可以看到apk的資源檔案了
将下載下傳的兩個包解壓到同一個檔案夾下,應該會有三個檔案:aapt.exe,apktool.bat,apktool.jar
在指令行下定位到apktool.bat檔案夾,輸入以下指令:apktool d C:\*.apk C:\*檔案夾,
指令行解釋:apktool d [apk檔案] [輸出檔案夾]
特别注意:你要反編譯的檔案一定要放在C槽的根目錄裡
=============================================
project.properties檔案
将proguard.config前面的#去掉,就可以利用ProGuard來混淆代碼了
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
用數字簽名生成的apk才會被混淆,Run或Build Project/Build All來生成Apk,是不會混淆代碼的
Android Tools,如下圖所示,其下有兩個子菜單項:“Export Signed ApplicationPackage...”和“Export Unsigned ApplicationPackage...”,一個是帶RSA數字簽名,一個是不帶數字簽名,根據需要選一個,然後按照向導操作即可,最終生成的Apk就是混淆過代碼的了