JS BYTECODE VIRTUALIZATION · VMP

VMP 虚拟化保护

自研字节码虚拟机 · 多层运行时防护

把 JavaScript 编译为私有字节码,由逐构建形态互异的解释器执行——让逆向成本回到不可规模化。

私有指令集 逐构建多态变形 运行时纵深防护 引擎不下发 · 即用即焚
VMP BUILD STREAM LIVE PROTECTION PIPELINE
  1. 01parse & compile · 解析源码并编译为私有字节码ok
  2. 02polymorph build · 产物形态逐构建随机变化ok
  3. 03protect secrets · 密钥不以完整形态落地ok
  4. 04enable runtime guard · 运行时反调试与环境识别ok
  5. 05seal protected output · 完整性保护,篡改即失效ok
保护策略已就绪 字节码虚拟化 · 密钥保护 · 运行时对抗 · 完整性校验 READY 100%

您是否面临这些威胁?

前端 JavaScript 天生明文分发,攻击者的工具链早已成熟

静态分析

JSBeautifier 一键美化,AST 工具批量还原结构,业务逻辑一览无余。

→ VMP 对策:源码编译为私有字节码,产物中不存在可还原的 JS 结构。

动态调试

DevTools 断点、单步、调用栈观测,Chrome CDP 附加插桩逐指令追踪。

→ VMP 对策:多维调试行为感知与纵深防御,动态分析成本大幅抬高。

沙箱脱壳

Node vm / jsdom / QuickJS 裸沙箱补全 DOM 后跑产物, dump 运行时明文。

→ VMP 对策:运行环境纵深识别,非真实浏览器环境无法正常运行产物。

自动化 Hook

Hook Function.prototype.toString、eval、定时器,旁路防护逻辑。

→ VMP 对策:关键逻辑深度内化,常规 Hook 手段难以触及。

密钥提取

静态常量扫描定位解密密钥,配合公开算法写离线解码器秒解全量产物。

→ VMP 对策:密钥不以完整形态出现在产物任何位置,静态扫描无从下手。

字符串泄露

接口地址、密钥 token、业务文案明文躺在产物里,一键搜索全部暴露。

→ VMP 对策:字符串全量加密保护,静态搜索一无所获。

VMP 核心能力

从字节码到外壳,每一层都为「不可规模化逆向」而设计

字节码虚拟化

JS 编译为私有字节码执行,产物形态逐构建随机变化——针对某一版产物写的分析工具,下个版本直接失效。

立即体验 →

密钥保护

密钥不以明文或完整形态出现在产物中,仅在运行期间按需使用——静态扫描与 Hook 都难以定位完整密钥。

立即体验 →

反调试与联动防御

调试行为感知深度耦合进执行过程,篡改与旁路难以奏效,大幅提高动态分析与 Patch 的成本。

立即体验 →

环境纵深识别

多维度运行环境识别,裸沙箱与无头环境无法获得正常的产物行为,脱壳脚本难以奏效。

立即体验 →

完整性保护

产物具备全量完整性保护,任何篡改都会导致产物无法正常工作,试探式分析难以定位。

立即体验 →

字符串与常量保护

字符串与常量全量加密存储,运行期最小化暴露——静态提取字符串编写离线解码器的成本倍增。

立即体验 →

技术架构

覆盖编译期改写与运行时对抗的关键环节

虚拟化执行核心

私有指令集 + 多态执行

指令体系

  • 自研私有指令体系,无公开资料可查
  • 产物形态逐构建随机变化,指纹不稳定
  • 分析经验跨产物不可复用

执行模板

  • 多套执行模板逐构建切换
  • 静态形态与运行形态分离
  • 批量分析工具不可复用

密钥体系

保护、隔离、外置

密钥存储

  • 密钥不以完整形态落地于产物
  • 运行期间按需使用,最小化暴露
  • 关键数据被篡改即整体失效

密钥使用

  • 每次运行的密钥状态互不相同
  • 使用过程分段隔离
  • 支持密钥外置部署,产物独立无法运行

运行时对抗

多层纵深对抗

反调试

  • 多维调试行为感知
  • 单步分析与断点调试难以奏效
  • 时间与环境篡改可被识别

环境检测

  • 多类运行环境识别
  • 裸沙箱与无头环境无法正常运行
  • 非真实环境无法获得正确结果

完整性与部署

从完整性保护到授权绑定

完整性

  • 全量完整性校验,篡改即失效
  • 局部篡改影响整体可用性
  • 构建指纹追溯:问题产物可定位构建批次

授权与锁定

  • 域名 / 主机环境锁,失配即失效
  • 授权到期时间锁
  • 多开与重放成本倍增

为什么选择 VMP 虚拟化

438

全链路冒烟断言

全组合回归测试矩阵,功能零回归才交付

3

防护档位

lite / std / max 梯度,按场景按需取舍

0

即用即焚

引擎服务端驻留不下发,代码仅在内存中处理,用完即焚、不落盘不留存

5min

快速交付

在线拖入 ZIP,分钟级下载加密产物

为什么服务端不会存留你的代码

纯内存处理,不写磁盘

上传的代码只存在于服务进程内存中,整个加密过程不创建任何临时文件,磁盘上从头到尾没有你的代码。

独立线程,用完即毁

每个加密请求在独立的 worker 线程中执行,响应发出的瞬间线程即被销毁,内存中的代码随线程一起被回收。

无数据库、无副本

服务不连接任何数据库,你的代码与加密结果不做任何持久化存储,加密结果只通过本次 HTTP 响应流式返回给你,服务器上没有第二份副本。

日志不含代码内容

服务端仅记录请求数量、耗时等匿名统计数字,日志中不会出现你的代码、文件名或任何可还原内容的信息。

一句话:代码来了就在内存里加密,结果只回给你,服务端什么都不留。

使用流程

上传代码

拖入单个 JS 文件或整个 ZIP 包,图片与配置原样保留

选择预设

小程序 / Web / 高强度 / VMP 虚拟化,按场景一键选择

实时加密

服务端引擎实时加密,即用即焚不留存

下载产物

输出同名 -secured 文件,目录结构不变直接替换部署

常见问题

VMP 虚拟化和普通混淆有什么区别?

普通混淆只做改名与结构扰动,源码逻辑仍可被美化工具和 AST 还原;VMP 把 JS 编译为私有字节码,由随机形态的解释器执行,产物中根本不存在可还原的 JS 结构——逆向者面对的不是「难读的代码」而是「陌生的虚拟机」。

虚拟化后性能损耗大吗?

解释执行天然慢于原生。lite / std 档面向普通业务,损耗可控;max 档全量启用运行时对抗能力,热路径有可见开销,仅建议用于核心授权、计费、密钥等敏感模块。推荐按模块分级防护:核心走 max,UI 走 lite。

支持微信小程序和严格 CSP 页面吗?

支持。会自动适配平台边界与限制,跳过平台不支持的能力,其余防护全量保留,工具会明确提示而非静默失效。

代码会上传到服务器吗?

会,且仅用于实时加密。加密引擎(含自研 VMP 指令集与密钥体系)驻留服务端、永不下发浏览器,从根上杜绝引擎被逆向与盗用;代码全程内存处理,不写盘、不留存,产物下发后即销毁。

防护是绝对的吗?

不是。所有前端方案都只提高阅读与调试门槛,无法绝对防止下定决心的专业逆向者。VMP 的目标是把逆向成本推到「不可规模化」——授权校验、计费、核心密钥等逻辑仍应放在服务端,前端防护作为纵深的一环。

立即加固您的 JavaScript

引擎不下发,无需注册,代码即用即焚

使用遇到问题?加入官方交流群:QQ 群一键直达