强,不是靠某一道墙,而是八道彼此独立的防护叠在一起。攻击者要突破的不是一层,是每一层——而任何一层,都足以让一键破解失效。
先在 Lua 源码上做重命名、加密、控制流重塑,再把整段脚本编到 LuaJC 字节码打进 dex,做 dex 级别的字节码加固。走到这里,源码级反编译已经拿不到任何可读线索。
关键代码不再以任何可读形式存在,而是运行在一套私有的虚拟执行环境里。反编译器打开,只有无从下手的字节。
字符串、常量与关键数据被层层加密。静态分析拿不到哪怕一条明文线索——搜遍产物,什么都对不上。
程序的执行逻辑被彻底打散、重排。读起来像一团理不清的乱麻,跟不上它到底在做什么,更别提改动它。
脚本编译成 Dalvik 字节码后,再在 dex 层做类名重排与控制流打散。jadx / apktool 打开只看到一堆阿拉伯字符类名和绕不清的跳转。
最要害的部分不停留在字节码。dex2c 把 dex 里的核心方法翻译成 C++,交叉编译成 .so 内嵌进产物;再套一层 O-MVLL 的 LLVM 混淆——原生层的控制流平坦化、字符串加密与 MBA 算术混淆。到这里,逆向的战场从「读脚本」被拖进了「啃原生 arm64」。
核心方法从 dex 里被抽出、逐条翻译为 C++,走 NDK 交叉工具链编成 arm64 / armv7 的 .so,与 dex 合成单文件产物。逆向从此不能只看字节码——要先把 native 层啃下来。
抽出来的 .so 再过一遍 LLVM 混淆插件:原生层控制流平坦化、字符串加密、MBA 算术混淆与反 hook。IDA / Ghidra 打开,函数图变成一张无从入手的蜘蛛网。
实时检测调试、注入、异常环境与作弊工具,并可选注入 GG / VPN 循环检测。一旦发现被撬,脚本当即自我失效——留给对手的只是一具空壳。
产物按 App 签名指纹白名单发放。被扒走、塞进别处的执行器,直接失效——就算拿到手,也跑不起来、用不了。
八道防线各自独立,攻击者必须逐层突破;而一键破解,连第一层都过不去。
轻度保护、随手分发,用免费版足够;核心脚本、商业分发、要求「抄不走搬不动」,上付费版八层全开。两者都在注册后使用。
纯脚本级混淆,注册后免费使用,不占用任何次数。产物是普通 Lua,可跨执行器运行。
商业级纵深防护,抄不走、搬不动。含免费版全部能力,并叠加:
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 脚本级混淆 | ● | ● |
| 数据加密 | 基础 | 全面 |
| 控制流保护 | 基础 | 全面 |
| 自定义虚拟机 | 可移植档 | 私有增强 |
| 字节码级 dex 加固 | — | ● |
| dex2c 原生化(→ .so) | — | ● |
| 原生层 O-MVLL 混淆 | — | ● |
| 运行时自我保护 | — | ● |
| 授权执行器绑定 | — | ● |
| 跨执行器运行 | ● | 需专属执行器 |
| 占用混淆次数 | 否 | 是 |