您的位置:首页 > 移动开发 > Android开发

Android开发之代码混淆

2017-11-05 16:52 295 查看

初级混淆

使用proGuard进行代码混淆

1.参考教程:Android开发者指南(9) —— ProGuard

2.混淆模板:Android proguard-rules.pro 混淆模板

[注]

1.eclipse只有将项目导出时才会进行混淆

2.1 proguard.config=proguard-project.txt//采用相对路径配置,直接读取项目根目录下proguard-project.txt文件

2.2 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt//采用绝对路径

使用proGuard-GUI进行手动混淆

使用AndResGuard进行资源混淆

参考教程:AndResGuard集成笔记

增加7z压缩

参考教程:Android项目集成AndResGuard资源混淆两种方式

参考教程:https://github.com/shwenzhang/AndResGuard/blob/master/doc/how_to_work.zh-cn.md

注意点

1.如何打开Gradle中的Task任务?



进阶混淆

使用StringFog对字符串Base64加密

参考教程:https://github.com/MegatronKing/StringFog

将字符串混淆成byte字节码

如下图



参考教程:https://github.com/ihbing/obfuseSmaliText

高阶混淆

修改proGuard工具的混淆字符

[注]AndroidStudio的自身proGuard混淆工具目录
D:\Program Files\Android\Android Studio\gradle\m2repository\net\sf\proguard\proguard-base


用无效代码对抗jadx&jd-gui

//添加无效代码,对抗jadx & jd-gui
boolean qwerty21345hjdnjd = false;
while (qwerty21345hjdnjd) {
switch (1) {
case 1:
while (qwerty21345hjdnjd) {
try {
Throwable throwable=new Throwable();
Throwable cause = throwable.getCause();
} catch (NullPointerException e) {
} finally {
}
}
break;
}
}


参考

1.Android资源混淆工具

2.proGuard混淆笔记

3.Android代码混淆技术总结(一)

4.apk在线反混淆
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息