reverse-engineering

Analyzes compiled, obfuscated, and packed binaries using static, dynamic, and symbolic execution techniques.

7|4|Updated Jun 22, 2026
One-click install
npx skills add https://github.com/dbx0/skills --skill reverse-engineering-dbx0
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: reverse-engineering
Source: https://github.com/dbx0/skills/tree/main/skills/binary-re-pwn/reverse-engineering/reverse-engineering
Command: npx skills add https://github.com/dbx0/skills --skill reverse-engineering-dbx0

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Understanding how a compiled, obfuscated, packed, or virtualized binary works is slow and error-prone without a structured methodology. This Skill provides a complete reverse engineering workflow covering triage, tool selection, anti-analysis bypasses, and language- and platform-specific patterns so you can systematically understand a target before exploiting or solving it. ## Core Features & Use Cases - Multi-Tool Static and Dynamic Analysis: Guidance for GDB, radare2, Ghidra, IDA, Frida, angr, Qiling, and Unicorn across ELF, PE, Mach-O, APK, WASM, firmware, and custom VM targets. - Anti-Analysis Bypass Reference: Concrete bypasses for ptrace checks, PEB flags, TLS callbacks, timing detection, Frida detection, self-hashing, and control-flow obfuscation on Linux and Windows. - CTF Pattern Library: Documented solutions for custom VMs, signal-handler side channels, MBA obfuscation, lattice-based validators, Go/Rust/Swift binaries, and kernel modules. - Use Case: Given a stripped, UPX-packed binary with anti-debug checks, follow the workflow to unpack it, neutralize the ptrace and timing checks, hook strcmp with Frida to capture the expected input, and confirm with angr symbolic execution. ## Quick Start Analyze the attached binary with the reverse-engineering skill, starting with strings and ltrace triage, then identify any anti-debugging protections and recommend the fastest path to recover the expected input.

Frequently Asked Questions about reverse-engineering

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reverse engineer a binary with anti-debugging protection?

Identify the checks first: ptrace(TRACEME), /proc/self/status TracerPid, timing loops, and signal handlers on Linux, or PEB flags and TLS callbacks on Windows. Then bypass them with LD_PRELOAD hooks, pwntools patching, GDB signal handling, or emulation with Qiling, which leaves no debugger artifacts.

What tools should I use for binary reverse engineering?

Start with file, strings, ltrace, and strace for quick wins. Use radare2 or Ghidra for static disassembly, GDB with pwndbg for debugging, Frida for runtime hooking, angr for symbolic execution, and Qiling or Unicorn for cross-platform emulation.

How do I unpack a UPX-packed binary?

Run upx -d on the binary to restore the original code. If unpacking fails, inspect the UPX section names and header fields for tampering, or run the binary under a debugger, break after the decompression stub, and dump the unpacked memory region.

Can angr automatically solve flag-checker binaries?

Yes, angr symbolic execution solves many input-validation checkers by exploring paths to a success address while avoiding failure addresses. Constrain inputs to printable ASCII and hook expensive functions like crypto or I/O to prevent path explosion.

When should I use emulation instead of a debugger?

Use Qiling or Unicorn emulation when the binary has heavy anti-debugging, targets a foreign architecture like ARM or RISC-V, or performs self-integrity checks. Emulation modifies no code and leaves no debugger artifacts, so most detection techniques fail by default.

When is reverse engineering the wrong approach?

If the vulnerability is already understood and the remaining work is heap, ROP, or kernel exploitation, switch to a pwn workflow instead. Similarly, pure web targets, disk forensics, and standalone crypto problems are better served by their dedicated methodologies.