反射与 Handler.post 不再靠跳数:认落点,不还原看不见的边。
- Handler.post 里才碰到 native 的,挡被 post 的 run();不去 post 的方法、也不按 Runnable 子类型展开
- Method.invoke / Constructor.newInstance / MethodHandle.invoke* 本身是 native,方法体调用了就留 ART;getMethod 不挡,调用方不反收
扬帆加固面向已签名 APK:DEX VMP 把业务方法抽进 Native 自定义虚拟机,再封囊硬绑现场签名。改签名、二次打包或二次修改即无法解开——离线也脱不了壳。无需源码,免费版即含核心防护。
Core Protection
不依赖任何可选模块。拿到包也难以还原,改签名、二次打包或二次修改就跑不起来。
把 DEX 与 Native 保护封装进单个加密胶囊(AES-GCM),密钥用 HKDF 从「现场签名证书 + ZIP 目录指纹」派生。二次签名、二次打包或二次修改后,密钥便无法派生——离线环境同样无法脱壳。
每次 APK 加固都会做:把业务关键方法抽到 Native 自定义虚拟机,Java 侧只留跳转,常规反编译到这里会断掉。界面生命周期不会进虚拟机;核心 DEX 同时分片加密隐藏。
启动时在 Native 层完成校验与关键路径解密,对不上就拒绝运行;壳库与加壳 SO 做内存防 dump。arm64 / armv7 / x86_64 / x86 均覆盖。
How it works
面向已经打好、签过名的安卓 APK,无需改造工程。
在 App 内选择目标包,识别包名与套餐绑定状态。
可视化点名 Dex2C 方法、选择要加壳的 SO、开启环境防护。
封囊硬绑签名、DEX VMP,按需再做 Dex2C 与白盒,出包前核对结果。
下载加固产物,用你的原证书签名后即可发布。
Depth Defenses
DEX VMP 随每次 APK 加固默认执行。Dex2C、白盒与环境防护按需开启,互不影响。
扬帆加固的核心能力。加固时自动挑选业务方法:Java 侧只留跳转,真正逻辑改成私有指令,在 Native 虚拟机里执行。脱壳后的 DEX 里看不到这些方法体,常规反编译到这里就会断掉。
界面生命周期和系统回调不会进虚拟机,避免闪退。字符串一并加密。若同时开了 Dex2C,点名方法会先编成原生代码;编不了的仍由 VMP 保护。
把你点名的包名 / 类里适合转换的方法编成原生代码,Java 侧不再保留方法体。编不了的仍走 VMP,应用正常运行。
胶囊密钥经「密钥相关、不可压缩的查表网络」与公开置换交替求值,全程不以连续明文存在于内存或表中,静态与动态都拿不到成型密钥。
抓包代理、模拟器、Root、调试、多开分身、反 Hook、截屏限制、完整性看门狗、脱壳探测与 SO 加壳——按业务需要自由组合,只为真正需要的场景付出开销。
Optional Modules
以下均可在 App 中逐项勾选。免费版含封囊、签名硬绑、DEX VMP 与 DEX 隐藏;开通正式版即可组合其余模块。
封囊、签名硬绑、DEX VMP、DEX 隐藏。每次加固默认执行。
点名方法编成原生代码,编不了的仍由 VMP 保护。
白盒求值保护胶囊密钥,抗搬移。
指定 Native 库加密加载,并做内存防 dump。
识别 VPN 与抓包代理环境。
识别模拟器与虚拟运行环境。
识别 Root / Magisk / su 环境。
检测调试附加与 Hook 框架影响。
识别双开、分身与容器环境。
识别脱壳与运行时 dump 行为。
持续校验关键运行数据防篡改。
限制敏感页面被截屏或录屏。
Flutter Hardening
跨平台应用的业务逻辑主要在 Dart AOT 产物 libapp.so 里。扬帆加固把它加密封装,运行时只在内存里解开、直载进进程,磁盘上不留明文。
libapp.so 以 AES-GCM 加密入包,密钥同样硬绑现场签名证书。运行时在 Flutter 引擎启动前,把明文只在内存中解开并以进程内方式载入——不落盘、不依赖对 libflutter 内部符号的版本敏感 hook、不改动引擎官方加载路径,因此不会随引擎版本升级而失效。
加载后对内存镜像做防 dump(DONTDUMP / WIPEONFORK),并对 libflutter 引擎做完整性基线校验,被替换即拒绝运行。整套流程可验证:确认引擎能在进程内取到 Dart 快照才不落盘,预检不过则安全回退,不影响应用正常启动,冷启动与原包无感。
诚实说明:Dart AOT 代码运行时必然要在内存中执行,具备进程内代码执行能力的攻击者仍可能将其 dump 出来——这是所有 SO 加壳方案共同的天花板,并非本方案独有。要进一步抬高逆向门槛,建议打包时叠加 flutter build --obfuscate 混淆 Dart 符号与字符串,与加壳叠加效果最佳。
Editions
没有花名,只有免费版与正式版。免费版即刻可用于验证效果,正式版解锁全部可选模块并去除启动提示。
Honest by Design
安全没有「银弹」,我们也不堆砌好看的数字。页面上列出的每一项,都是扬帆加固真实提供、可在 App 里勾选、可被验证的能力——不抄袭、不虚标。
DEX VMP 每次加固都会做:业务方法进自定义虚拟机。需要更深时再点名 Dex2C。封囊密钥硬绑现场签名证书和包目录,二次签名、二次打包或二次修改就解不开,离线也脱不了壳。白盒密钥保护在出包前核对结果,确保和设计一致。
处理不了的边角情况,要么保持原逻辑,要么中止出包,不会勉强交出一份有问题的包。
Changelog
服务端版本记录。加固引擎与虚拟机随版本一并发布。
反射与 Handler.post 不再靠跳数:认落点,不还原看不见的边。
不再按跳数截断:能摸到 native 入口的调用链一律留原运行时,VMP 与 Dex2C 同一条规则。
CameraX / Camera2 / 播放器走同一条 native 表面管线;空壳与身份方法不再进虚拟机。
加固记录恢复中文软件名;虚拟机 1 参数调用不再走 Call*A,invoke 热路径去掉多余的引用探测。
修播放页 JNI 崩溃:直接调到媒体/native 胶水的方法留在原运行时,虚拟机热路径不再套一层易被 hook 的 Call*A。
收紧跳过范围、抬高虚拟机参数上限:方法体对象锁与 Handler 下游业务进入保护,单方法最多 16 个参数。
虚拟机与原生保护统一按系统运行期契约裁决:触达系统边界的方法留在原运行时,业务编排继续抽离。
业务包识别与大包处理:按清单结构定位宿主,加固过程按分片推进,避免整包压进内存。
关键方法保护升级:原生保护与虚拟机按序衔接,编译由服务端自动就绪。
加固稳定性与保护覆盖率并重:该进虚拟机的方法照常抽离,框架入口保持原逻辑。
加固产物兼容性与交付体验:适配高版本系统,并理顺套餐与错误提示。