源码系统概览
文章正文
荷花加固是一款面向 Android 应用加固研究的系统工具,源码完整开放,内部代号 AndroidPacker,把 DEX 加密、native 运行时与签名重打包整合在一个可直接构建的工程里。
Java 侧负责 APK 解析、清单改写与流程调度,C++ 侧负责运行时解密与反调试,适合安全研究人员与客户端开发者对照学习加固原理,网盘同时提供可直接安装的演示应用。
源码简介
源码按 app、native_core、stub_template 三层组织,应用层包含 ApkSigner、AxmlPatcher、DexEncryptor、PackerEngine 等十余个核心类,覆盖从清单改写到密钥注入的完整链路。
原生层以 C++ 实现反调试、内存类装载、加密、dex2c 翻译等八个模块,职责单一便于按主题阅读,壳模板在构建时与宿主 DEX 合成新包,欢迎贡献 star 和 fork。
应用层另有 NativeDex2cEngine 与 PreflightInspector 两个大体积类,分别承担指令翻译编排与加固前检查,测试目录附带三个回归测试类,覆盖签名与清单改写等关键环节。
适用场景
安全研究人员可以把它当作加固原理的活教材,逐步跟踪 DEX 如何被加密、壳程序如何在内存中还原类。
开发者能借鉴其密钥派生与清单改写实现,用于自研保护方案或评估第三方加固产品,逆向学习者也可借此理解 Frida 与 Xposed 检测手法。
技术栈与运行环境
项目要求 Android SDK 与 NDK 环境,原生侧构建出 arm64、armv7、x86、x86_64 四个 ABI 的动态库。
构建入口为 gradlew 脚本,先跑单元测试再编运行时,最后打包加固器应用,产物面向 Android 8.0 以上系统,依赖内存类装载器完成装载。
功能亮点
核心能力集中在以下几点。
- DEX 整体加密,运行时经 AES-GCM 解密后由内存类装载器直接装载,中间结果不落盘
- dex2c 指令翻译,把选中方法的字节码转为原生实现,抬高静态分析成本
- 反调试与反注入,原生层检测 Frida 端口与 Xposed、Magisk 特征后自杀退出
- 密钥随机化,每次构建注入随机密钥,HKDF 域分离派生并支持擦除
- 签名重打包,内置签名器支持 v1 到 v3 方案,产物可直接安装
对比 DexGuard 和梆梆、爱加密这类商业方案,AndroidPacker 的区别在于源码全部开放、本机构建、不依赖云端托管,定位是研究与轻量保护而非高对抗防护。
| 能力 | AndroidPacker | 商业加固 | 传统开源壳 |
|---|---|---|---|
| 源码开放 | 全部开放可审计 | 闭源服务 | 部分开放 |
| 使用方式 | 本机构建自加固 | 云端托管 | 命令行 |
| dex2c | 内置完整实现 | 企业版功能 | 较少涉及 |
技术架构与部署指南
安装与部署提示
先安装 Android Studio 或独立 SDK 与 NDK,把配置样例复制为 local.properties 并填入本机 SDK 路径,按 README 顺序先跑测试再编原生库。
工程按 2026 年 9 月研究版口径分发,版本口径 v2026.9.0,最后更新与更新日志以 README 说明为准,产物默认调试签名,正式分发前需换成自己的 KeyStore 重签。
截图与演示说明
本项目未附带运行截图,主界面从源码可推断,提供目标 APK 选择、签名文件选择、密码输入与开始加固按钮,日志面板实时输出各阶段进度。
状态徽章区分工作中、成功、警告与错误四种情形,网盘内演示应用即源码构建产物,其一致性未经独立验证,待界面截图补充后本节同步更新实际画面。
常见问题
问. 荷花加固工具和源码是什么项目
一套 Android 加固研究工程,Java 与 C++ 源码完整开放,用于学习 DEX 加密、内存装载与反调试原理。
问. 加固后的 APK 能不能直接上架应用商店
默认产物是调试签名会被商店拒绝,需要用正式 KeyStore 重签后再提交。
问. 这套源码和梆梆这类商业加固有什么区别
它是开放源码的研究工具,强度有限且可被针对性分析,商业方案提供云端密管与持续对抗。
问. 项目收费吗,可以商用吗
源码免费下载研究,未附带 MIT、Apache 这类开源许可证,版权归属原作者,商用前请确认授权条款。
安全风险提示
审查结论为技术上无后门,未发现执行命令、网络外联与隐私收集代码,应用清单未声明 INTERNET 权限,数据外传在权限层即不可能。
风险集中在合规层面,项目无 LICENSE 文件且来源为网络转载,包内另一安装包为第三方商业软件演示件,传播有版权风险,建议只在专用测试设备安装。
下载说明
网盘包含完整源码工程、四个 ABI 预编译库、演示安装包与构建脚本,下载后先阅读 README 再构建,解压后可对照本文目录说明熟悉工程结构。