app被人攻击,简单做了下防护,混淆打包。
个人理解,混淆打包包括全局混淆:将整个android项目全部混淆
部分文件混淆:对于一些jni文件是不能混淆的,不然项目不能正常运行
1、先说简单的全局混淆:我的系统版本是android4.4 直接找到项目中project.properties文件,打开后第十一行已经注释的
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 打开
然后,就是正常的打包方式打包,利用keynote签名,打包成apk后,如果别人反编译的话部分文件的名字以及一些方法和变量名字变成了aa bb cc等
这种方式比较简单,对于没有一些私有的jni项目直接打包,通过测试就可以用了。
2、部分文件混淆:其实就是部分文件不混淆,如果我项目中有些方法不能混淆怎么办,当然就是在全局混淆的基础上,设定一些方法活着一些文件不混淆
注意:这些都是写在proguard-project.txt文件中的,上边打开的那个注释,形成全局混淆就是说的用proguard-project.txt文件内容混淆。所以设置什么不混淆也是在这个文件中设置。
先说下不混淆方法我想保留方法createbtn
-keep class
com.scapp.MainActivity.createbtn
如果设置不混淆一个文件(我们这个是不混淆jni文件)
-keep class com.scapp.jni.**{*;}
常言道:无图言x 。配上图片说的清楚。下边分别是全局混淆和文分文件混淆
部分文件混淆,是在打开注释的基础上设置保留哪些不混淆
另外附上一个网址,直接能反编译出源代码:http://www.ludaima.cn/android.html
作者:Lu_Ca 发表于2017/1/10 10:58:59 原文链接
阅读:0 评论:0 查看评论