http://blog.sina.com.cn/illdvm
1. 下载工具
dex2jar下载地址:http://code.google.com/p/dex2jar/downloads/list
JD-GUI下载:http://java.decompiler.free.fr/?q=jdgui
apktool
2. 通过dex2jar将apk转换为jar文件
- 从apk中抽取classex.dex文件
虽说dex2jar可以直接从apk抽取出jar文件,但是会经常遇到一些问题,所以常用的方法是将.apk文件,重命名为.zip,解压缩后,找到classes.dex文件
- 运行dex2jar生成.jar文件
cmd
cd
dex2jar.bat 使用最新的可能需要根据提示使用另外一个命令。
3. 通过jd-gui将jar文件反编译为java文件
运行jd-gui,打开文件classes_dex2jar.jar,可以看到源码,同时,你还可以通过Save Source或Save All Source,将源码进行保存。
4.
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
在命令行下定位到apktool.bat文件夹,输入以下命令:apktool d C:\*.apk C:\*文件夹,
命令行解释:apktool
特别注意:你要反编译的文件一定要放在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 Application Package...”和“Export Unsigned Application Package...”,一个是带RSA数字签名,一个是不带数字签名,根据需要选一个,然后按照向导操作即可,最终生成的Apk就是混淆过代码的了