Which Skill Module Should I Use for My Target Type in reverse-skill?
Use the routing matrix in skills/routing.md to match your target type, user intent, and toolchain to the correct module.
The reverse-skill repository implements a skill matrix architecture that routes every analysis request through three dimensions: target type, user intent, and toolchain. To determine which skill module you should use for your target type, you must reference the master routing table rather than guessing based on file extensions alone. This routing system ensures you always start with the most appropriate workflow for your specific reverse engineering task.
Understanding the Skill Matrix Architecture
The routing system evaluates three dimensions before selecting a module:
- Target type (e.g., APK, ELF, firmware, Wi-Fi)
- User intent (decompile, dynamic hook, bypass, etc.)
- Toolchain (IDA, radare2, Frida, MCP, etc.)
The authoritative mapping lives in skills/routing.md, which serves as the single source of truth for module selection. According to the source code, you must match these dimensions before entering any skill module.
Target Type to Skill Module Reference
The routing matrix maps common target types to their recommended entry modules. Consult this reference to identify your starting point:
| Target Type | Recommended Entry Module | Alternative(s) |
|---|---|---|
| APK / Android app | apk-reverse/ (jadx + apktool) |
Licensed JEB Pro; native .so → ida-reverse/ or radare2/ |
| Binary exe / dll / elf | ida-reverse/ (IDA MCP workflow) |
radare2/ (CLI) or reverse-engineering/tools.md |
| JavaScript / Web front-end | js-reverse/ (5-stage workflow) |
jshookmcp/ for browser-hooking |
| Firmware / IoT | firmware-pentest/ (extract → EMBA → emulate → fuzz) |
reverse-engineering/platforms.md (static only) |
| DSL VM / custom bytecode | reverse-engineering/dsl-vm-reverse/SKILL.md |
reverse-engineering/languages.md (real WASM) |
| Malware / virus sample | malware-analysis/SKILL.md (six-stage + YARA/Sigma) |
ida-reverse/ for deep dive |
| macOS / iOS | reverse-engineering/platforms.md (Mach-O/ObjC/Swift) |
mobile-reverse/ for iOS-specific |
| Wi-Fi / wireless | wifi-wireless/ |
attack-chain/ (close-range) |
| Windows AD / Kerberos | windows-ad/ |
attack-chain/ (multi-stage) |
Step-by-Step Routing Procedure
Follow this exact workflow to select your skill module:
- Identify the target type based on file extension, platform, or device characteristics.
- Open
skills/routing.mdand locate the row matching your target type. - Read the "Recommended Entry" column to determine the starting module.
- Open the module's
SKILL.mdto access the detailed workflow before taking any action.
For example, when analyzing an Android APK:
1. Target type → **APK / Android app**
2. Recommended module → `apk-reverse/`
3. Open skill guide → `apk-reverse/SKILL.md`
And for an ELF binary:
1. Target type → **Binary exe/dll/elf**
2. Recommended module → `ida-reverse/`
3. Open skill guide → `ida-reverse/SKILL.md`
Essential Files for Module Navigation
| File | Purpose |
|---|---|
skills/routing.md |
Master matrix mapping target type → skill module; the authoritative source for routing decisions |
skills/<module>/SKILL.md |
Detailed, step-by-step workflow for the selected module (e.g., apk-reverse/SKILL.md) |
skills/routing_zh.md |
Chinese version of the routing matrix |
skills/MASTER-ROUTING.md |
Entry point for the overall router that points to routing.md |
skills/tool-index.md |
Lists actual tools available for each module to verify tool existence before use |
Summary
- Always route first by checking
skills/routing.mdbefore opening any skill module - Match three dimensions: target type, user intent, and toolchain
- Start with the "Recommended Entry" module rather than alternatives unless you have specific licensing or technical constraints
- Read the module's
SKILL.mdfile before executing any reverse engineering actions - For Mandarin speakers,
routing_zh.mdprovides the complete matrix in Chinese
Frequently Asked Questions
What if my target type isn't listed in routing.md?
Check skills/MASTER-ROUTING.md for the overall router structure, or consult skills/tool-index.md to identify which tools support your file format. If the target type is truly novel, combine modules from reverse-engineering/platforms.md and reverse-engineering/languages.md based on the underlying architecture and bytecode type.
Can I skip the routing matrix and go directly to a skill module?
No. The routing matrix in skills/routing.md is explicitly designed as the single source of truth to ensure you select the appropriate workflow for your specific combination of target type, user intent, and toolchain. Skipping this step risks using incompatible tools or missing critical analysis stages defined in the skill architecture.
How do I handle mixed targets like APKs with native libraries?
According to the routing matrix, start with apk-reverse/ for the base APK analysis using jadx and apktool. If you encounter native .so libraries, pivot to ida-reverse/ or radare2/ for the binary components, then return to the Android workflow for integration analysis.
Where can I find the Chinese version of the routing documentation?
The repository maintains skills/routing_zh.md, which contains the complete skill matrix in Mandarin. This file provides identical target type mappings and module recommendations as the English routing.md, ensuring non-English speakers can follow the same routing architecture.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →