安卓 APK 加固 · 上传即加固

安卓 APK 加固
防二次签名 · 防二次修改

扬帆加固面向已签名 APK:DEX VMP 把业务方法抽进 Native 自定义虚拟机,再封囊硬绑现场签名。改签名、二次打包或二次修改即无法解开——离线也脱不了壳。无需源码,免费版即含核心防护。

防二次签名 / 二次打包改签名即解不开
DEX VMP 加固业务方法进自定义虚拟机
多 ABI 覆盖arm64 / armv7 / x86_64 / x86
app-release.apk 已加固
封囊 · 签名硬绑密钥由签名证书 + 目录指纹派生
DEX VMP 智能抽离业务方法进自定义指令集
白盒密钥保护密钥不以明文驻留内存或表中
运行环境防护抓包 / 模拟器 / Root / 调试 按需

Core Protection

安卓 APK 加固的基座:防二次签名、防二次打包

不依赖任何可选模块。拿到包也难以还原,改签名、二次打包或二次修改就跑不起来。

封囊 · 防二次签名与二次打包

把 DEX 与 Native 保护封装进单个加密胶囊(AES-GCM),密钥用 HKDF 从「现场签名证书 + ZIP 目录指纹」派生。二次签名、二次打包或二次修改后,密钥便无法派生——离线环境同样无法脱壳。

DEX VMP 智能虚拟化

每次 APK 加固都会做:把业务关键方法抽到 Native 自定义虚拟机,Java 侧只留跳转,常规反编译到这里会断掉。界面生命周期不会进虚拟机;核心 DEX 同时分片加密隐藏。

Native 运行时自保护

启动时在 Native 层完成校验与关键路径解密,对不上就拒绝运行;壳库与加壳 SO 做内存防 dump。arm64 / armv7 / x86_64 / x86 均覆盖。

How it works

无需源码:四步完成 APK 加固

面向已经打好、签过名的安卓 APK,无需改造工程。

1

上传已签名 APK

在 App 内选择目标包,识别包名与套餐绑定状态。

2

按需勾选模块

可视化点名 Dex2C 方法、选择要加壳的 SO、开启环境防护。

3

服务端一体化加固

封囊硬绑签名、DEX VMP,按需再做 Dex2C 与白盒,出包前核对结果。

4

取回并原证书签名

下载加固产物,用你的原证书签名后即可发布。

Depth Defenses

免费版即含 DEX VMP,正式版再叠加纵深防护

DEX VMP 随每次 APK 加固默认执行。Dex2C、白盒与环境防护按需开启,互不影响。

免费版即含

DEX VMP · 业务方法进自定义虚拟机

扬帆加固的核心能力。加固时自动挑选业务方法:Java 侧只留跳转,真正逻辑改成私有指令,在 Native 虚拟机里执行。脱壳后的 DEX 里看不到这些方法体,常规反编译到这里就会断掉。

界面生命周期和系统回调不会进虚拟机,避免闪退。字符串一并加密。若同时开了 Dex2C,点名方法会先编成原生代码;编不了的仍由 VMP 保护。

  • 免费版每次加固都会做,不用单独勾选
  • 私有指令集,一次一包,通用反编译器看不懂
  • 优先抽离加解密、校验等业务逻辑
  • 界面与系统回调保持原样,兼容优先
  • 方法体不完整就不会进虚拟机
原生编译

关键方法 Dex2C

把你点名的包名 / 类里适合转换的方法编成原生代码,Java 侧不再保留方法体。编不了的仍走 VMP,应用正常运行。

  • App 内先选 APK,再按包 / 类勾选保护范围
  • 先做 Dex2C,再做 VMP,同一方法不会重复保护
  • 不支持的写法自动留下,交给 VMP
  • 建议只点名加密、校验等关键代码
密钥保护

白盒密钥保护

胶囊密钥经「密钥相关、不可压缩的查表网络」与公开置换交替求值,全程不以连续明文存在于内存或表中,静态与动态都拿不到成型密钥。

  • 抗密钥提取:从表反推密钥等价于黑盒密钥恢复
  • 抗代码搬移:查表体积大且不可压缩,须整体搬走才能复刻
  • 出包前核对求值结果,避免表和实现不一致
  • 诚实说明:是把攻击门槛抬高,并非数学不可破
运行环境

按需环境防护

抓包代理、模拟器、Root、调试、多开分身、反 Hook、截屏限制、完整性看门狗、脱壳探测与 SO 加壳——按业务需要自由组合,只为真正需要的场景付出开销。

  • 逐模块开关,互不牵连,任意组合都经过兼容处理
  • 命中高风险环境,为你的风控提供依据
  • 不做「全都开」的堆料,避免误伤正常用户
  • 完整清单见下方「可选模块」

Optional Modules

可选模块 · 正式版按需开启

以下均可在 App 中逐项勾选。免费版含封囊、签名硬绑、DEX VMP 与 DEX 隐藏;开通正式版即可组合其余模块。

核心加固免费版含

封囊、签名硬绑、DEX VMP、DEX 隐藏。每次加固默认执行。

关键方法 Dex2C

点名方法编成原生代码,编不了的仍由 VMP 保护。

白盒密钥保护

白盒求值保护胶囊密钥,抗搬移。

SO 加壳

指定 Native 库加密加载,并做内存防 dump。

抓包 / 代理检测

识别 VPN 与抓包代理环境。

模拟器检测

识别模拟器与虚拟运行环境。

Root 检测

识别 Root / Magisk / su 环境。

调试 / 反 Hook

检测调试附加与 Hook 框架影响。

多开 / 分身检测

识别双开、分身与容器环境。

脱壳 / Dump 探测

识别脱壳与运行时 dump 行为。

完整性看门狗

持续校验关键运行数据防篡改。

截屏 / 录屏限制

限制敏感页面被截屏或录屏。

Flutter Hardening

Flutter 应用加固:libapp 零明文落盘

跨平台应用的业务逻辑主要在 Dart AOT 产物 libapp.so 里。扬帆加固把它加密封装,运行时只在内存里解开、直载进进程,磁盘上不留明文。

跨平台专项

内存直载 · 不 hook 引擎 · 稳定兼容

libapp.so 以 AES-GCM 加密入包,密钥同样硬绑现场签名证书。运行时在 Flutter 引擎启动前,把明文只在内存中解开并以进程内方式载入——不落盘、不依赖对 libflutter 内部符号的版本敏感 hook、不改动引擎官方加载路径,因此不会随引擎版本升级而失效。

加载后对内存镜像做防 dump(DONTDUMP / WIPEONFORK),并对 libflutter 引擎做完整性基线校验,被替换即拒绝运行。整套流程可验证:确认引擎能在进程内取到 Dart 快照才不落盘,预检不过则安全回退,不影响应用正常启动,冷启动与原包无感。

  • libapp 明文只在内存,磁盘零明文落盘
  • 不 hook libflutter 内部符号,不随引擎升级失效
  • 内存镜像防 dump,libflutter 完整性基线校验
  • 冷启动无感,与原包体验一致
  • 兼容标准 Flutter 构建,无需改造工程

诚实说明:Dart AOT 代码运行时必然要在内存中执行,具备进程内代码执行能力的攻击者仍可能将其 dump 出来——这是所有 SO 加壳方案共同的天花板,并非本方案独有。要进一步抬高逆向门槛,建议打包时叠加 flutter build --obfuscate 混淆 Dart 符号与字符串,与加壳叠加效果最佳。

Editions

APK 加固两个版本:免费版与正式版

没有花名,只有免费版与正式版。免费版即刻可用于验证效果,正式版解锁全部可选模块并去除启动提示。

免费版
¥0 · 即刻可用

未绑定套餐的应用自动按免费版加固,用于快速体验核心防护效果。

  • 核心加固:封囊 / 签名硬绑 / DEX VMP / DEX 隐藏
  • 每日可加固,次数由平台配置、随时更新
  • 不可选择任何可选模块
  • 加固包每次启动显示「扬帆安全 · yfaq.cn」
正式版
按套餐 · 绑定包名

按包名绑定套餐,解锁全部可选模块,去除启动提示,每日次数随套餐提升。

  • 免费版全部核心能力
  • Dex2C、白盒密钥保护、SO 加壳等全部可选模块
  • 无启动品牌提示,纯净发布
  • 更高每日加固次数,按套餐配置

Honest by Design

只做真实有效的防御

安全没有「银弹」,我们也不堆砌好看的数字。页面上列出的每一项,都是扬帆加固真实提供、可在 App 里勾选、可被验证的能力——不抄袭、不虚标。

DEX VMP 每次加固都会做:业务方法进自定义虚拟机。需要更深时再点名 Dex2C。封囊密钥硬绑现场签名证书和包目录,二次签名、二次打包或二次修改就解不开,离线也脱不了壳。白盒密钥保护在出包前核对结果,确保和设计一致。

处理不了的边角情况,要么保持原逻辑,要么中止出包,不会勉强交出一份有问题的包。

Changelog

更新日志

服务端版本记录。加固引擎与虚拟机随版本一并发布。

1.0.67 2026-08-18

反射与 Handler.post 不再靠跳数:认落点,不还原看不见的边。

  • Handler.post 里才碰到 native 的,挡被 post 的 run();不去 post 的方法、也不按 Runnable 子类型展开
  • Method.invoke / Constructor.newInstance / MethodHandle.invoke* 本身是 native,方法体调用了就留 ART;getMethod 不挡,调用方不反收
1.0.66 2026-08-17

不再按跳数截断:能摸到 native 入口的调用链一律留原运行时,VMP 与 Dex2C 同一条规则。

  • 播放器、CameraX、声明 native、Runtime.exec:invoke 图上到得了就留 ART,不按一跳/两跳截断
  • WebView / 蓝牙胶水只挡方法本身,避免界面编排被掏空;被胶水调用的工具方法、空实现继续保护
1.0.65 2026-08-17

CameraX / Camera2 / 播放器走同一条 native 表面管线;空壳与身份方法不再进虚拟机。

  • 方法体碰到 Surface、CameraX、Camera2、Camera1、ImageReader、MediaCodec、EGL 的是管线种子,其直接调用方留在原运行时;WebView / 蓝牙不收这一跳
  • 布局 ID getter、equals / hashCode / toString 没有保护价值则不抽;XOR、密钥、控制流仍进虚拟机
1.0.64 2026-08-17

加固记录恢复中文软件名;虚拟机 1 参数调用不再走 Call*A,invoke 热路径去掉多余的引用探测。

  • 列表与最近记录显示「软件名 260817083201 1.4.0」,下载文件名同样保留中文
  • 0/1 参数走 Call*;加载器锚点与句柄入表不再 GetObjectRefType
  • 媒体/native 胶水仍留 ART,业务编排继续进虚拟机
1.0.63 2026-08-16

修播放页 JNI 崩溃:直接调到媒体/native 胶水的方法留在原运行时,虚拟机热路径不再套一层易被 hook 的 Call*A。

  • ART 的 Java→Java 不是 JNI。虚拟机 Call* 进「马上再进 native」的播放器胶水,会在友盟 crashsdk 里打成 _fg_jni,主线程被冻住后变成输入 ANR
  • 只把直接 invoke 到 Surface / android.media / 方法体 native 的那一层留在 ART,再往上的编排继续抽离;空实现同名方法不扇出
  • 0 参数调用与 setSurface 走 Call* 而不是 Call*A,调用前不再做 GetObjectRefType / 多余的 IsInstanceOf
1.0.62 2026-08-16

收紧跳过范围、抬高虚拟机参数上限:方法体对象锁与 Handler 下游业务进入保护,单方法最多 16 个参数。

  • 方法体里的 monitor-enter / monitor-exit 由虚拟机执行,不再因此整方法留在原运行时
  • Handler.handleMessage、vsync 回调只挡入口本身,调用下去的业务逻辑继续抽离
  • 虚拟机形参与内部调用最多 16 个参数,覆盖带默认参数的 Kotlin / Java 接口
  • 同步方法、构造器、无法完整翻译的指令仍原样保留
1.0.61 2026-08-15

虚拟机与原生保护统一按系统运行期契约裁决:触达系统边界的方法留在原运行时,业务编排继续抽离。

  • 虚拟机按系统 JNI 规范管理对象引用与异常,异常路径不再导致进程异常退出
  • 原生保护与虚拟机共用同一套判定,只看方法体本身,调用方业务逻辑继续进入保护
  • 方法体触达系统 native、进程或图形表面边界时保留原执行路径,避免破坏系统契约
  • 无法完整翻译的指令与构造器、同步方法原样保留,编不过即退回,不影响加固任务
1.0.60 2026-08-14

业务包识别与大包处理:按清单结构定位宿主,加固过程按分片推进,避免整包压进内存。

  • 业务主包不再只看安装包名:以 Application、启动页所在模块为准,兼容渠道改名与二次签名包
  • Unity、Flutter、uni-app、React Native、Cocos、Capacitor 等运行时宿主不会被误判为业务代码
  • 关键方法点名页取消类数量上限,主业务包与加固引擎使用同一套识别规则
  • 大安装包按类分片写入、只读取 ZIP 目录做指纹,封装阶段不再因堆内存耗尽失败
1.0.53 2026-08-14

关键方法保护升级:原生保护与虚拟机按序衔接,编译由服务端自动就绪。

  • 选定类先做原生保护,其余方法继续进入虚拟机
  • 服务启动自动准备编译能力,验证通过后再对外就绪
  • 编译未就绪时回退虚拟机保护,加固任务不受影响
1.0.50 2026-08-13

加固稳定性与保护覆盖率并重:该进虚拟机的方法照常抽离,框架入口保持原逻辑。

  • 修复加固包冷启动闪退:界面绑定方法不再被误抽进虚拟机
  • 虚拟机对空引用做安全检查,以异常结束调用,避免进程异常退出
  • 智能抽离按字节码与类型识别,不依赖混淆后的短方法名;业务逻辑优先进入虚拟机
  • 识别 Jetpack Compose、Flutter 宿主与入口回调,避免抽离框架生命周期
1.0.40 2026-08-11

加固产物兼容性与交付体验:适配高版本系统,并理顺套餐与错误提示。

  • 修复混淆包跨加载器访问导致的启动失败,业务类统一在同一运行时空间加载
  • Native 库按 16KB 页对齐,兼容 Android 15 及以上设备
  • 套餐到期不再锁定已加固应用,已发包可继续使用
  • 异常页按免费 / 正式版区分展示,便于定位问题