apk_auto_enforce
Usage: python jiagu.py xxx.apk
效果:实现 dex 文件整体加密、隐藏
(1)想体验具体效果可以访问我开发的工具:http://01hackcode.com
(2)加固原理,可以访问我写得一系列博客文章:
- APP 的安装过程 http://shuwoom.com/?p=60
- DALVIK 虚拟机启动过程 http://shuwoom.com/?p=112
- APP 的启动过程 http://shuwoom.com/?p=142
- DEX 文件结构分析 http://shuwoom.com/?p=179
- DALVIK 加载和解析 DEX 过程 http://shuwoom.com/?p=269
- DALVIK 查找类和方法的过程 http://shuwoom.com/?p=282
- ELF 文件结构分析 http://shuwoom.com/?p=286
- SO 加载解析过程 http://shuwoom.com/?p=351
- 实战开发 APK 安全加固 http://shuwoom.com/?p=360
- Android 代码混淆技术总结 http://shuwoom.com/?p=506
安装环境:
(1)NDK:14.1
(2)gradle-3.3
(3)build-tools:android-25
(4)jdk1.8
sign 文件夹:用于重打包签名
smali 文件夹:当目标 app 没有自定义 Application 时,给该 app 添加一个自定义 Application
TuokeApk 文件夹:用于加密加固了的 classes.dex 文件
JiaguApk.jar:用于合并 TuokeApk/bin/classes.dex 和加密了的目标目标 TargetApk.zip(只包含:classes.dex)
TODO:
0.elf 头破坏
1.自定义 DexClassLoad 实现无 dex 缓存
2.反编译模块:针对 apktool、dex2jar、baksmali、idapro、01editor、shakaapktool、Androguard 参考: http://www.freebuf.com/sectool/76884.html https://github.com/wanchouchou/ManifestAmbiguity
3.修改 dex 文件,DexEducation-PracticingSafeDex.pdf
4.添加反调试、反模拟器模块
5.签名校验、反调试:http://www.jianshu.com/p/f17c60298e75
6.内存保护
7.字节码自修改
8.so、dex 方法提取
9.内存加载 so
10.独立加解密模块,总结整理几个常用的高效加密算法:rc4、凯撒加密+Base64、TEA 加密、AES、RSA、白盒加密(常见算法 c 库) 参考: http://blog.csdn.net/zhiqiangzhan/article/details/4658106 http://blog.csdn.net/doorxp/article/details/8763018 http://www.aichengxu.com/suanfa/6186233.htm https://www.zhihu.com/question/35136485
11.添加密钥保存模块
http://www.hackdig.com/04/hack-20771.htm
12.合并函数加密功能
13.加密常量字符串
14.添加方法、字段代码提取
15.合并函数隐藏功能
16.自定义 linker
17.dex 代码混淆,修改https://github.com/strazzere/APKfuscator 为 python 版本
18.so 文件混淆,https://github.com/Fuzion24/AndroidObfuscation-NDK
