Android反编译工具:Apktool,支持Linux 、Windows下工作

来源:互联网 发布:中国社会经济数据库 编辑:程序博客网 时间:2024/05/19 19:59

Android反编译工具:Apktool,支持Linux 、Windows下工作 

安装步骤如下: 
1.首先安装需要JAVA环境,先下载JDK/JRE,点击下载,已经有JAVA环境的可跳过此步 

2.到code.google上下载apktool.jar以及相关文件: http://code.google.com/p/android-apktool/downloads/list 
点击下载apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip 

3.解压apktool.jar 到 C:\Windows文件夹下 
解压apktool-install-windows.zip到任意文件夹 

4.点击开始菜单,运行,输入CMD回车,用cd命令转到刚刚解压apktool-install-windows所在的文件夹,输入apktool,出现一些命令说明即成功安装。 

Apktool 命令 
apktool d geek.apk test    反编译 geek.apk到文件夹test 
apktool b  geek               从文件夹geek重建APK,输出到ABC\dist\out.apk

 

 

 

Eclipse中的Android项目默认使用Proguard(http://proguard.sourceforge.net/)混淆项目代码文件。

 

具体使用方法很简单:

1.       在default.properties文件中增加一句proguard.config=proguard.cfg

2.       在proguard.cfg中配置Proguard的参数(如果没有这个文件,在src目录中创建一个即可。)

3.       导出apk文件,即可得到混淆后的文件了。

上面说的使用方法很简单,简单设置即可以使用了。

 

如果混淆项目以后,发现应用的某些功能无法正常使用了,就要去仔细的找原因,看看为什么混淆后无法使用了,再去配置Proguard的参数文件。

 

举几个例子。

比如项目中用到了映射,这时就要用到-keep参数,对于映射用到的类保持原状,不让这些类被混淆,否则混淆后就找不到这些类了。

再比如项目中用到了Annotation,这时就要-keepattributes *Annotation*保留Annotation,否则混淆后项目中的某些代码无法使用。

 

还有一个经验。

Proguard的参数非常复杂,有时候无法有一个很直观的理解。这时可以使用Proguard提供的GUI程序,在GUI界面中配置各个参数后,导出为配置文件。然后以文本的方式打开该文件,即可看到各个参数的写法了。

 


原文链接:http://blog.csdn.net/arui319/article/details/6386287

原创粉丝点击