dsl-vm-reverse

dsl-vm-reverse is a skill for Claude Code, Codex from zhaoxuya520/reverse-skill. It costs 63 tokens per session (3,927 once invoked), scanned A, original, MIT.

A guide for understanding custom JavaScript interpreters that run their own instruction sets, including unusual virtual machines and risk-control engines.

In plain words
What is it for?
Use it to identify operation codes, recover what each instruction means, observe the interpreter while it runs, and reconstruct how the program executes.
Why use it?
It helps turn compressed or deliberately confusing code into readable instructions, program flow, and runtime state.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to identify operation codes, recover what each instruction means, observe the interpreter while it runs, and reconstruct how the program executes.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zhaoxuya520/reverse-skill/dsl-vm-reverse
About the project

Reverse Skill is a routing package for AI coding agents that selects appropriate reverse-engineering, penetration-testing, and security-research methods and tools for a given target. It is used for tasks involving APKs, binaries, frontend JavaScript, packet captures, CTF challenges, and authorized penetration testing. Its catalogue add-ons provide the skills and instructions that guide these workflows.

zhaoxuya520/reverse-skill · 35,027 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zhaoxuya520/reverse-skill --skill dsl-vm-reverse
Clone the repo
git clone --depth 1 https://github.com/zhaoxuya520/reverse-skill

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for dsl-vm-reverse

README.md
[![agentmods](https://agentmods.dev/badge/skills/zhaoxuya520/reverse-skill/dsl-vm-reverse.svg)](https://agentmods.dev/skills/zhaoxuya520/reverse-skill/dsl-vm-reverse)
Your own site
<a href="https://agentmods.dev/skills/zhaoxuya520/reverse-skill/dsl-vm-reverse"><img src="https://agentmods.dev/badge/skills/zhaoxuya520/reverse-skill/dsl-vm-reverse.svg" alt="Measured on agentmods" height="20"></a>
Per session 63 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,927 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Snyk pass 7 Sept 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00063 $0.03927
Opus 5 $0.00032 $0.01963
Sonnet 5 $0.00013 $0.00785
Haiku 4.5 $0.00006 $0.00393

Measured 5d ago against content hash d3903b68141e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

dsl-vm-reverse scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

3 near-identical copies found in the catalogue:

skills/reverse-engineering/dsl-vm-reverse/SKILL.md · 381 lines

How it starts

The opening of the file, as written. The whole thing — 381 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 确认当前任务是自定义 JS opcode VM / 风控引擎,不是标准 WASM 或普通 webpack
  2. NOW: case-init 直到 scope.md 就绪;离线样本用 offline / lab
  3. ACT: 从「3. 通用逆向工作流」Phase 1 做文件分类,不要停在目录

用于逆向基于 JavaScript 实现的自定义 WASM 虚拟机/风控引擎


目录


1. 适用范围

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

# 特征 说明
1 IIFE 开头 + 大量单字母变量名 !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){...} 普通 JS js-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, ...) {
    var d = [];  // 数组模拟 WASM stack/locals
    for (d[7] = x; d[7] !== U;) {
        var aE = d[7] & 31;         // 低 5 位 = opcode
        var O = d[7] >> 5 & 31;      // 高 5 位 = sub-operation
        switch (aE) {
            case 0: /* ... */ d[7] = 612; break;
            case 1: /* ... */
            // ... N 个 case
        }
    }
}

// 特征 3: 常量表 C[9] 存储函数索引和字符串
// C[9][0] = ["pc"]      → 函数参数描述
// C[9][667] = "string"  → 字符串常量
// C[9][x] = number      → 函数索引

// 特征 4: W(C[index], null, ...) 调用模式
// W = Function.prototype.call.bind(call)
// 所有内置函数通过 C[index] 索引调用

// 特征 5: 指令编码格式
// d[7] = opcode(bit 0-4) | subop(bit 5-9) | operand(bit 10+)

Read the full file on GitHub · 381 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 381 lines · 63 tokens per session scan A d3903b68141e

Subscribe to this mod's changes

dsl-vm-reverse is a skill published in the GitHub repository zhaoxuya520/reverse-skill (35,027 stars, last pushed 5d ago), licensed MIT. It adds 63 tokens to every session and 3,927 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens

chronicle

Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…

microsoft/vscode · 72 tokens