Complete AI TrainingYourJobSkills for your job

Skills / reverse-engineering

dsl-vm-reverse

Reverse JavaScript-based custom DSL/VM interpreters and risk-control engines: identify IIFE/switch-based opcode dispatch, extract opcode tables, and capture runtime semantics.

Security

🔄 DSL 自定义虚拟机逆向(DSL VM Reverse Engineering)

When to Use

  • A protected web asset runs a custom bytecode VM (risk-control/captcha engines).
  • Recovering opcode semantics from a JS interpreter loop.

目录

  • [1. 适用范围](#1-适用范围)
  • [2. DSL VM 识别特征](#2-dsl-vm-识别特征)
  • [3. 通用逆向工作流](#3-通用逆向工作流)
  • [4. Opcode 提取与分类](#4-opcode-提取与分类)
  • [5. 运行时捕获方案](#5-运行时捕获方案)
  • [6. 常见状态码](#6-常见状态码)
  • [7. Skill 自检清单](#7-skill-自检清单)

1. 适用范围

当目标文件符合以下 任意特征 时使用本 skill:

#特征说明
1IIFE 开头 + 大量单字母变量名!function(){var U=void 0,y=parseInt,E0=Function,...}
2包含 DG() 或类似函数含 switch-case 循环解释器主循环,d[7]&31 解码 opcode
3大文件(500KB+)但零字节占比 < 1%非标准 WASM,纯 JS
4包含 C[number] 常量表引用C[9][xxx] 函数表/字符串表
5单行压缩代码583KB 单行,混淆变量名

排除规则

条件非本 skill转至
文件以 \x00asm 开头标准 WASM 二进制reverse-engineering/languages.md
文件以 Uint8Array([0,97,115,109]) 含 WASM 魔术字WASM 嵌入式提取 .wasm 后转 IDA/Ghidra
标准 Webpack 打包(function(e,t,n){...}普通 JSjs-reverse/
零字节占比 > 20%WASM 二进制reverse-engineering/languages.md

2. DSL VM 识别特征

代码特征

// 特征 1: IIFE 入口,单字母变量映射数字常量
!function(){
    var U=void 0, y=parseInt, E0=Function, AN=Uint8Array;
    var E=15, l=10, m=12, x=16, S=13, $=11;
    // 数字常量映射为变量名,替代原始数字
    ...
}

// 特征 2: 解释器主循环 DG()
function DG(C, d, 

Subscribers only

The full skill, its 1 bundled files and every download is included with every paid Complete AI plan.

Details

Sourcezhaoxuya520/reverse-skill
LicenseMIT
Risk labelsafe ("critical" means the skill may run commands or touch files — read before use)
FilesSKILL.md
Added2026-08-25