npx claudepluginhub mysterionrise/ctf-kitThis skill uses the workspace's default tool permissions.
Analyze and solve reverse engineering challenges.
Suggests manual /compact at logical task boundaries in long Claude Code sessions and multi-phase tasks to avoid arbitrary auto-compaction losses.
Share bugs, ideas, or general feedback.
Analyze and solve reverse engineering challenges.
Use this command for challenges involving:
First check tool availability: bash scripts/check-tools.sh
Start with radare2 analysis (outputs structured JSON):
bash scripts/run-radare2.sh $ARGUMENTS
bash scripts/run-radare2.sh <binary> main # disassemble specific function
JSON output includes:
functions[]: all functions with address, size, nameinteresting_functions[]: functions matching CTF keywords (main, flag, win, check, verify, password, secret, decrypt)strings[]: strings found in binaryinfo: binary metadata (arch, format, etc.)Based on JSON findings, focus analysis:
interesting_functions found → decompile them: r2 -c "aa; pdc @ <function>" <binary>For different binary types:
ELF (Linux): Use radare2 or Ghidra for analysis
PE (Windows): Check for .NET (use dnSpy)
Java/Android: jadx app.jar or jadx app.apk
Python: uncompyle6 file.pyc or pycdc file.pyc
run-radare2.sh binary → identify interesting functions from JSON| Pattern | Meaning |
|---|---|
strcmp, strncmp | String comparison |
memcmp | Memory comparison |
| XOR loop | Simple encryption |
check_, verify_ | Validation functions |
win, flag | Target functions |
When using /ctf-kit:team-solve with a reverse engineering challenge, the lead spawns 3 specialists:
| Role | Teammate Name | Focus | Tools | First Action |
|---|---|---|---|---|
| Static Analyst | static-reverser | Disassembly, decompilation, function listing, string analysis, control flow graphs | radare2, Ghidra, objdump, scripts/run-radare2.sh | List functions, find interesting ones (main, check, verify, flag), decompile them |
| Dynamic Analyst | dynamic-reverser | Runtime behavior, breakpoints, anti-debug bypass, library call tracing, input/output mapping | gdb, ltrace, strace, LD_PRELOAD | Run with ltrace/strace, set breakpoints on strcmp/memcmp, trace validation logic |
| Algorithm Solver | algo-solver | Keygen writing, constraint solving, algorithm reimplementation, z3 SAT solving, symbolic execution | python3, z3, sage | Reimplement the validation algorithm from decompiled code, write solver/keygen |
Reverse engineering has a natural pipeline:
But all 3 can start in parallel — static and dynamic analysis are independent.
/ctf-kit:reverse ./crackme
/ctf-kit:reverse ./challenge.exe
/ctf-kit:reverse app.apk