Android学习记录(三)Android的代码混淆及反编译验证
来源:互联网 发布:万宝盛华集团 知乎 编辑:程序博客网 时间:2024/06/05 08:43
混淆:
这里只在Android studio中做示例:
在Build.gradle文件中修改release的编译属性:
release { minifyEnabled true// proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro" proguardFile 'proguard-android.txt' }
proguard-android.txt
该文件就是混淆配置文件主要需要注意的是以下几点:
1.第三方的库需要使用:
-injars libs-injars libs/ext-injars libs/libs或者是:
#-libraryjars libs/zxing.jar#-libraryjars libs/aoe.jar#-libraryjars libs/libs/umeng-update-v2.6.0.1.jar#-libraryjars libs/umeng-analytics-v5.6.1.jar#-libraryjars libs/ext/cling-core-2.1.0.jar
将第三方库标示出来,进行编译,第三方的库通常情况下不会进行混淆。
2.对于第三方库以及部分系统库,需要使用-dontwarn标签进行标注,标示相关的类的warn不影响混淆编译。
-dontwarn org.fourthline.cling.**-dontwarn org.seamless.**-dontwarn org.eclipse.jetty.**-dontwarn android.support.v4.**-dontwarn android.support.design.widget.**-dontwarn org.junit.**
3.使用-keep标签进行标注,第三方库的方法不进行混淆,如:
-keep class org.fourthline.cling.** { *; }-keep class org.seamless.** { *;}-keep class org.eclipse.jetty.** { *;}-keep class android.support.v4.** { *; }-keep class org.junit.** { *; }
一般来说这样就可以根据签名生成混淆后的apk.
反编译:
拿到apk还是没有办法确认是否混淆,这里转发一篇文章:
http://www.2cto.com/kf/201501/366447.html
按照该文章的步骤操作后,你会发现代码已经被混淆了。
最后:混淆只是增加代码阅读的复杂度,真正需要做到安全还有很多路要走。
0 0
- Android学习记录(三)Android的代码混淆及反编译验证
- Android代码混淆及反编译
- Android 代码混淆及反编译方法
- Android 代码混淆及反编译方法
- Android 代码混淆及反编译方法
- Android代码混淆 反编译
- 【学习】Android代码混淆与反编译
- Android 混淆与反编译的简单记录
- android APK反编译及混淆学习总结
- Android反编译与加密(代码混淆)
- Android 上线前的代码混淆之(一)反编译
- Android 代码混淆防止反编译
- Android 代码混淆 防止反编译
- android代码混淆和反编译
- android 反编译---and---混淆代码
- android 代码混淆与反编译
- android混淆代码与反编译
- Android apk反编译及AS代码混淆方法
- 单例模式的多种方式与选择
- oracle11g_64位连接32位PLSQL_Developer
- Eclipse上安装GIT插件EGit及使用
- SVM和logistics笔记
- 最近做的一道c++作业题
- Android学习记录(三)Android的代码混淆及反编译验证
- C++ 中Traits技术 (1) —— 初识
- java中动态数组Vector的使用实例
- dexdump oatdump objdump 反汇编及生成oat文件
- array_funs.php
- 新导入的项目无法生成R文件的解决方案
- [SSH]Struts2 -- No result defined for action and result input
- C++重要性质06:静态成员
- struts1进行多文件的上传