Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2019-07-30:谈谈代码混淆的步骤? #109

Open
Moosphan opened this issue Jul 30, 2019 · 8 comments
Open

2019-07-30:谈谈代码混淆的步骤? #109

Moosphan opened this issue Jul 30, 2019 · 8 comments

Comments

@Moosphan
Copy link
Owner

No description provided.

@Moosphan Moosphan changed the title 2019-07-30:有接触过代码混淆吗?谈谈混淆的步骤? 2019-07-30:谈谈代码混淆的步骤? Jul 30, 2019
@zhaoerlei1989
Copy link

混淆,没有啥东西,该留下留下,该混淆混淆,最多问题找不到,我遇到小米手机可以安卓,华为手机不你能安卓,后来检查出来是华为推送问题,加混淆最好是,弄完以后找百度或者360等去免费测试一遍,多机型跑一遍,混淆宁愿多留点,不要干的太彻底,你不确定的就别混淆,

@MrShuHong
Copy link

开启混淆开关

需要添加的混淆规则:1、查看项目使用的第三方库哪些需要特殊配置混淆的
2、保持反射 native 对应的类和方法不混淆
3、保持实体类参与系列化的不混淆
4、保持自定义类不混淆
5、系统组件如fragment activity servie等一些固定方法会被系统调用不混淆

@18361237136
Copy link

开启混淆

  1. 查看项目使用的第三方哪些需要设置混淆
  2. 保持反射native对应的类和方法不混淆
  3. 保持自定义类不混淆
  4. 保持实体类参与序列化的不混淆
  5. 系统组件等一些固定方法会被系统调用的不混淆

@weikano
Copy link

weikano commented Sep 2, 2019

实体类参与序列化的不混淆??
只有需要用到反射的实体类才不混淆吧,比如没有注解的json,其他的都完全可以混淆
另外补充一点如果是自己的sdk要混淆,注意打release包时添加dontshrink

:octocat: From gitme iOS

@yline
Copy link

yline commented Jan 15, 2020

1,加入基本的混淆规则:优化配置、activity+Fragment等不混淆、序列化的类不混淆这些常见基础配置

2,查看代码中有哪些第三方,将第三方的库对应的代码进行不混淆配置

3,测试,混淆后,将各个模块的代码跑一次,再一个模块一个模块检查

@buobao
Copy link

buobao commented Jul 28, 2020

webview设置的JavascriptInterface对象不要混淆

@xiaoyunfei
Copy link

xiaoyunfei commented Aug 3, 2020

代码混淆的目的:
1、代码混淆之后会随机生成难易理解的类名、方法名以及属性名,加大反编译的难度;
2、可以对apk进行优化,缩小包的体积;

代码混淆的步骤:
1、在gradle文件里面打开配置:minifyEnabled true;
2、在proguard-rules.pro 文件里面配置混淆规则;
在配置混淆的时候,需要注意:1、四大组件以及view可以不进行混淆;2、实体类不进行混淆;3、第三方库根据各自的要求配置混淆规则;

@mlinqirong
Copy link

配置代码混淆minifyEnabled true
配置混淆规则proguard-rules.pro

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants