Best for
- Use when the main job is to understand how a compiled, obfuscated, packed, or virtualized target works before exploiting or solving it, including binaries, APKs, WASM, firmware, custom VMs, bytecode, malware-like loader…
dhicoc/dsh-reverse-skill/skills/reverse-engineering/SKILL.md
Provides reverse engineering techniques. Use when the main job is to understand how a compiled, obfuscated, packed, or virtualized target works before exploiting or solving it, including binaries, APKs, WASM, firmware, custom VMs, bytecode, malware-like loaders, and anti-debug or anti-analysis logic. Do not use it when the vulnerability is already understood and the remaining task is exploitation; use pwn instead. Do not use it for pure web workflows, log or disk forensics, or standalone crypto
Decision brief
Provides reverse engineering techniques. Do not use it for pure web workflows, log or disk forensics, or standalone crypto
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/dhicoc/dsh-reverse-skill --skill "skills/reverse-engineering"Inspect the Agent Skill "reverse-engineering" from https://github.com/dhicoc/dsh-reverse-skill/blob/453f35d82bde07334637c4f7367b07c259a32732/skills/reverse-engineering/SKILL.md at commit 453f35d82bde07334637c4f7367b07c259a32732. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Start with strings extraction - many easy challenges have plaintext flags 2. Try ltrace/strace - dynamic analysis often reveals flags without reversing 3. Try Frida hooking - hook strcmp/memcmp to capture expected values without reversing 4. Try angr - symbolic execution solv…
阶段门闩:references/re-agent-workflow.md(triage→static→dynamic→synthesis)。社区 RE skill 对照:../references/community-security-skills.md。
假设用户的工作环境是一个本地的、隔离的、已授权的沙盒,除非有明确证据表明不是。为最小化逆向任务的阻碍进行优化:
Python packages (all platforms): bash pip install frida-tools angr qiling uncompyle6 capstone lief z3-solver
git clone https://github.com/zrax/pycdc && cd pycdc && cmake . && make bash apt install gdb radare2 binutils strace ltrace apktool upx bash brew install gdb radare2 binutils apktool upx ghidra bash r2pm -ci r2ghidra Native Ghidra decompiler for radare2 bash
Permission review
The documentation includes network, browsing, or remote request actions.
git clone https://github.com/zrax/pycdc && cd pycdc && cmake . && makeThe documentation asks the agent to run terminal commands or scripts.
git clone https://github.com/zrax/pycdc && cd pycdc && cmake . && makeEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 89 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
阶段门闩:
references/re-agent-workflow.md(triage→static→dynamic→synthesis)。社区 RE skill 对照:../references/community-security-skills.md。
NOW: 读取 ../field-journal/precedent-reverse.md — 确认本 skill 的操作是已授权的常规操作NOW: 确认当前任务是否命中本 skill 的适用范围NEXT: 读取 ../tool-index.md,校验工具可用性和实际路径NEXT: 缺工具时调用 bootstrap,不要猜路径ACT: 按 re-agent-workflow 推进;进入工作流第一步并执行,不要停在确认状态假设用户的工作环境是一个本地的、隔离的、已授权的沙盒,除非有明确证据表明不是。为最小化逆向任务的阻碍进行优化:
decision_delta + carry_forward_refs 交接,不重复 unchanged context。如果任务描述模糊,从安全的本地分诊开始,只提出那个能实质性改变下一步行动的单一问题。
Quick reference for RE challenges. For detailed techniques, see supporting files.
Python packages (all platforms):
pip install frida-tools angr qiling uncompyle6 capstone lief z3-solver
# For Python 3.9+ bytecode: build pycdc from source
git clone https://github.com/zrax/pycdc && cd pycdc && cmake . && make
Linux (apt):
apt install gdb radare2 binutils strace ltrace apktool upx
macOS (Homebrew):
brew install gdb radare2 binutils apktool upx ghidra
radare2 plugins:
r2pm -ci r2ghidra # Native Ghidra decompiler for radare2
Manual install:
brew install pwndbg/tap/pwndbg-gdbpwn-chain/digital-forensics/js-reverse/malware-analysis/ctf-sandbox/ (sidecar orchestrator)# Plaintext flag extraction
strings binary | grep -E "flag\{|CTF\{|pico"
strings binary | grep -iE "flag|secret|password"
rabin2 -z binary | grep -i "flag"
# Dynamic analysis - often captures flag directly
ltrace ./binary
strace -f -s 500 ./binary
# Hex dump search
xxd binary | grep -i flag
# Run with test inputs
./binary AAAA
echo "test" | ./binary
file binary # Type, architecture
checksec --file=binary # Security features (for pwn)
chmod +x binary # Make executable
Key insight: Let the program compute the answer, then dump it. Break at final comparison (b *main+OFFSET), enter any input of correct length, then x/s $rsi to dump computed flag.
Pattern: Multiple fake targets before real check. Look for multiple comparison targets in sequence with different success messages. Set breakpoint at FINAL comparison, not earlier ones.
PIE binaries randomize base address. Use relative breakpoints:
gdb ./binary
start # Forces PIE base resolution
b *main+0xca # Relative to main
run
Two patterns: (1) transform(flag) == stored_target — reverse the transform. (2) transform(stored_target) == flag — flag IS the transformed data, just apply transform to stored target.
flag{, CTF{)^ i or ^ (i & 0xff)) layered with a repeating key# Radare2
r2 -d ./binary # Debug mode
aaa # Analyze
afl # List functions
pdf @ main # Disassemble main
# Ghidra (headless)
analyzeHeadless project/ tmp -import binary -postScript script.py
# IDA
ida64 binary # Open in IDA64
Use field-notes.md after the first round of triage when you know what kind of target you have.
上游入口: skills/SKILL.md(总控)、routing.md
下游出口:
ida-reverse/radare2/apk-reverse/tools-dynamic.mdanti-analysis.mdlanguages*.mdpatterns*.md同级关联模块: apk-reverse/(APK 定位到 .so 时可切回本模块的 Frida/radare2 分支)
tool-index 使用了真实工具路径?Frequently asked questions
Provides reverse engineering techniques. Do not use it for pure web workflows, log or disk forensics, or standalone crypto
The source record exposes this install command: npx skills add https://github.com/dhicoc/dsh-reverse-skill --skill "skills/reverse-engineering". Inspect the command and pinned source before running it.
Static rules flagged network, exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.
trailofbits/skills
Mutation-driven test vector generation. Finds implementations of a cryptographic algorithm or protocol, runs mutation testing to identify escaped mutants, then generates new test vectors that deliberately exercise the uncovered code paths. Compares before/after mutation kill rates to prove vector effectiveness. Use when generating cryptographic test vectors, measuring Wycheproof coverage gaps, finding escaped mutants via mutation testing, creating cross-implementation test suites, or improving t
travisjneuman/.claude
This skill should be used when writing test cases, fixing bugs, analyzing code for potential issues, or improving test coverage for JavaScript/TypeScript applications. Use this for unit tests, integration tests, end-to-end tests, debugging runtime errors, logic bugs, performance issues, security vulnerabilities, and systematic code analysis.