当前位置:操作系统 > 安卓/Android >>

Proguard android代码混淆 防止反编译

要达到代码混淆,让别人在反编译你的代码后看不懂,方法如下:

由于我的SDK和ADT20.0.1都是最新的,所以像网上的提供的使用proguard.cfg混淆代码的方式我看了,都是一样的, 
。都说会在项目文件下自动生成proguard.cfg,可是我的怎么也无法生成,因此也无法使用这个方法,搞得很头痛。

不过今天在看的时候,发现其实在项目文件下,自动生成了文件:proguard-project.txt, project.properties 两个文件,于是打开这两个文件,在proguard-project.txt中有:

By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
于是打开这个proguard-android.txt这个文件,发现内容与上面所说的progurad.cfg差不多,估计功能也一样。

在文件project.properties中还有:

To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

意思很明显,要想使用Proguard去混淆代码,只要将这句注释还原就行了#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt。

但是不能只是还原注释,我在尝试过之后,只有将这句话 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 放在target=android-10之后,才能生成apk.

 


接着我反编译导出的APK,如下:

 

发现在生成的jar文件中,所有的类名,变量名都变成了a,b,c等无法正确理解的名称,达到了预期的效果

 作者:Jason_WKS

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,