Gradle插件--dex加密
来源:互联网 发布:手机淘宝买家评价管理 编辑:程序博客网 时间:2024/06/06 01:37
DEMO地址:https://github.com/zhaopingfu/listener24_fake_dex
对安装包里的dex文件进行加密,防止别人反编译
这里只是在本地写了两个插件,没有上传到jcenter上面
原理
一个apk,把他的dex拿出来进行加密,这时候直接打包是不能执行的,因为dex是加密的,类加载器无法访问,所以这里使用了一个带application的dex,将加密后的dex拼接到后面,最后把加密后的dex的dex文件的长度拼接到最后,在application中先读取加密后的dex,先解密,然后通过类加载器加载dex
使用
第一步
将fakedex模块和fakedex-plugin模块拷贝到项目中
第二步
在命令行(Terminal)中生成插件gradlew :fakedex:pFPTMLgradlew :fakedex-plugin:pFPTML
第三步
修改工程的build.gradle,添加插件
示例
buildscript { repositories { jcenter() mavenLocal() } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.pf.fakedex:fakedex-plugin:1.0.0' } } allprojects { repositories { jcenter() mavenLocal() } }
第四步
修改app模块下的build.gradle
示例
apply plugin: 'com.pf.fakedex' fake { // 加密的密码 key 'asdfasdfasdfasdf' } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' compile group: 'com.pf.fakedex', name: 'fakedex', version: '1.0.0' }
第五步
在命令行中打包 gradlew :app:assembleDebug
打出来的包在/app/build/outputs/fake/outs/app-debug-signed.apk
阅读全文
0 0
- Gradle插件--dex加密
- Android 指定Dex分包的Gradle插件
- StringFog插件对Dex字符串加密原理解析
- 转帖 3DEX加密
- 转帖 3DEX加密
- 3DEX加密
- DEX文件混淆加密
- DEX加密效果分析
- Multiple dex files define ... with Gradle
- 使用 gradle 进行 android 分包(dex)
- gradle : Error converting bytecode to dex
- gradle构建+proguard加密
- apk加固原理之dex加密
- Eclipse 安装Gradle插件
- Gradle android 插件现况
- gradle的jetty插件
- gradle的war插件
- gradle的gretty插件
- 八大排序算法
- 利用 Kettle + Redash 搭建简单的 BI 系统
- 每日一练20171026
- Arrays.asList()踩坑踩坑
- ue4 联机烘焙出现问题和解决方式
- Gradle插件--dex加密
- easyUI的使用
- 简单工厂模式——使用最简单的需求来完成一个简单工厂模式
- 关于教育机器人领域的浅谈
- StackExchange.Redis官方文档(六)【事件,发布订阅,服务器命令】
- HIVE安装和基本操作
- 最长公共子序列 LCS
- 10.27测试
- HDU 5977 树分治+状态压缩