| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 【安卓之巅】如何混淆Activity等四大组件(非标题党非自动生成) -> 正文阅读 |
|
[移动开发]【安卓之巅】如何混淆Activity等四大组件(非标题党非自动生成) |
如果把默认打包好的release.apk拖入android studio,双击打开dex文件,可以看到里面的Activity、View、布局等等全部都有是原来取的名字,感觉底裤都不剩了,怎么办?公开的有以下两种方案: 一、使用第三方加固服务缺点:1.性能贼低,包括启动慢和运行慢。启动慢大多是冷启动慢,最多也就多出1~2秒的样子,可以接受。但在有的设备上,加固后的Java层代码可有十倍性能损失(测试出来的数据,是真的十倍!),需在Java层开多线程、多任务的慎重使用。2.不开源,产品不受开发者本人控制,对于开发者来说就是个黑盒子。3.说不定哪天不给你免费用了。 二、饿了么Mess插件Mess插件很有意思,Groovy写的Gradle插件,这还是我第一次接触到这个领域。Groovy基于Java,这种插件开发起来,Android Studio里面也是有语法提示的,不过gradle接口的文档不好找,特别是搜索引擎出来,4.0、3.5各个版本接口不一致、资料混乱,高版本还是kotlin写的,各种群魔乱舞。 原理是在编译过程中挂钩某些任务,从而在混淆前,修改临时文件中的混淆规则.txt等等,缺点是不支持新的gradle插件,已停止维护。 打破枷锁,返璞归真以上均非良策,那我们就真的没有办法了么?其实办法很简单:直接shift+f6手动混淆不就成了?完全没有任何问题,就是有点费手。 重构?不就是批量替换么,用脚本也很容易解决。混淆后的类名、包名、文件名可以是随机的名字,也可以是各种摘要或Hash的组合(参考), 清单文件.xml用 可以在打包前将源代码、资源文件备份到zip压缩包(参考)。打包Release完成后,再手动删除“混淆”后的文件,将备份的内容解压回来。保险起见,建议提交本地的修改至.git文件夹,然后备份.git文件夹到其他硬盘、网盘,或直接上传github、gitee。 手动混淆大法好,将Java层拧成一股绳,啊纤绳荡悠悠。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:35:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |