anti-reversing-techniques
wshobson/agents
Understand and analyze anti-reversing, obfuscation, and protection techniques in authorized security contexts.
What is anti-reversing-techniques?
This skill teaches you to identify, analyze, and bypass anti-debugging, anti-analysis, and obfuscation protections encountered during malware analysis, penetration testing, and security research. Use it when you need to understand evasion techniques, implement protections for CTF challenges, or analyze packed binaries in authorized contexts.
- Identify protection mechanisms (RDTSC timing checks, PEB BeingDebugged flags, ptrace detection, virtualization checks)
- Generate bypass strategies with specific patch addresses and hook points for each protection layer
- Produce structured analysis reports documenting protection type, location, severity, and recommended bypass method
- Provide platform-specific detection logic for Windows x86/x64, Linux, macOS, and ARM architectures
- Create Python/IDAPython scripts and GDB command sequences to neutralize or implement checks
- Troubleshoot false positives and crashes when patching protections
How to install anti-reversing-techniques
npx skills add https://github.com/wshobson/agents --skill anti-reversing-techniques- Explicit written authorization from the software owner or legitimate security context (CTF, authorized pentest, malware analysis)
- Understanding of your jurisdiction's laws regarding software protection circumvention (CFAA, DMCA anti-circumvention)
- Binary analysis tools (IDA Pro, Ghidra, x64dbg, GDB) and platform-specific debugging knowledge
How to use anti-reversing-techniques
- 1.Provide the binary path, target platform (Windows/Linux/macOS/ARM), and your analysis goal (bypass, detection, implementation)
- 2.Use the skill to identify which protection mechanisms are present in the binary
- 3.Review the bypass strategy for each protection, including patch addresses and hook points
- 4.Apply the recommended bypass using your debugger or the provided scripts (Python/IDAPython/GDB commands)
- 5.Validate the bypass by re-running the protected code path and confirming expected behavior
- 6.Document findings in a structured analysis report listing each protection layer and bypass method
Use cases
- Analyze malware samples to understand evasion techniques and bypass anti-debugging protections during dynamic analysis
- Implement anti-reversing checks in CTF challenge binaries to detect and prevent unauthorized analysis
- Reverse engineer packed or obfuscated binaries by identifying and bypassing protection layers
- Build security research tools that detect virtualized environments or analysis tools
- Calibrate timing-based detection thresholds to reduce false positives from legitimate monitoring tools
- Malware analysts and reverse engineers
- Authorized penetration testers
- CTF challenge developers and competitors
- Academic security researchers
- Incident response teams analyzing suspicious binaries
anti-reversing-techniques FAQ
Yes, when used in authorized contexts: malware analysis, authorized penetration testing, CTF competitions, academic security research, or analyzing software you own. Unauthorized bypassing of software protection may violate laws like the CFAA or DMCA anti-circumvention provisions. Always verify you have explicit permission before proceeding.
Windows x86/x64, Linux, macOS, and ARM. Platform-specific APIs differ (e.g., RDTSC on x86 vs. MRS on ARM, PEB on Windows vs. /proc/self/status on Linux). The skill provides platform-specific detection and bypass logic for each.
Calibrate timing-based checks at startup by measuring the guarded path 3 times and using mean + 3*stddev as the threshold. For ptrace checks, verify the TracerPid comm name via /proc/<pid>/comm to distinguish between a debugger and unrelated monitoring tools.
Before patching a conditional jump, trace the protected branch fully to ensure it doesn't initialize heap state needed later. Instead of NOPing the jump, patch the comparison operand to the expected 'clean' value, or use your debugger's 'Set condition to always false' feature to avoid corrupting program state.
Verify you have explicit written authorization from the software owner or are operating within a legitimate security context. Document the scope of your activities and ensure they comply with applicable laws in your jurisdiction.
Full instructions (SKILL.md)
Source of truth, from wshobson/agents.
name: anti-reversing-techniques description: Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill when analyzing malware evasion techniques, when implementing anti-debugging protections for CTF challenges, when reverse engineering packed binaries, or when building security research tools that need to detect virtualized environments.
AUTHORIZED USE ONLY: This skill contains dual-use security techniques. Before proceeding with any bypass or analysis:
- Verify authorization: Confirm you have explicit written permission from the software owner, or are operating within a legitimate security context (CTF, authorized pentest, malware analysis, security research)
- Document scope: Ensure your activities fall within the defined scope of your authorization
- Legal compliance: Understand that unauthorized bypassing of software protection may violate laws (CFAA, DMCA anti-circumvention, etc.)
Legitimate use cases: Malware analysis, authorized penetration testing, CTF competitions, academic security research, analyzing software you own/have rights to
Anti-Reversing Techniques
Understanding protection mechanisms encountered during authorized software analysis, security research, and malware analysis. This knowledge helps analysts bypass protections to complete legitimate analysis tasks.
For advanced techniques, see references/advanced-techniques.md
Input / Output
What you provide:
- Binary path or sample: the executable, DLL, or firmware image under analysis
- Platform: Windows x86/x64, Linux, macOS, ARM — affects which checks apply
- Goal: bypass for dynamic analysis, identify protection type, build detection code, implement for CTF
What this skill produces:
- Protection identification: named technique (e.g., RDTSC timing check, PEB BeingDebugged) with location in binary
- Bypass strategy: specific patch addresses, hook points, or tool commands to neutralize each check
- Analysis report: structured findings listing each protection layer, severity, and recommended bypass
- Code artifacts: Python/IDAPython scripts, GDB command sequences, or C stubs for bypassing or implementing checks
Detailed patterns and worked examples
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
Troubleshooting
Detection technique works on x86 but not ARM
RDTSC and CPUID are x86-only. On ARM, use MRS x0, PMCCNTR_EL0 (requires kernel PMU access) or clock_gettime(CLOCK_MONOTONIC). PEB/TEB do not exist on ARM — replace with /proc/self/status (Linux) or task_info (macOS). Rebuild detection logic with platform-specific APIs.
False positive on legitimate debugger or analysis tool
Timing checks fire when Process Monitor or AV hooks inflate syscall latency. Calibrate the threshold at startup: measure the guarded path 3 times and use mean + 3*stddev. For ptrace checks, verify the TracerPid comm name via /proc/<pid>/comm before exiting — it may be an unrelated monitoring tool, not a debugger.
Bypass patch causes crash instead of continuing execution
Before NOPing a conditional jump, trace the "detected" branch fully. If it initializes or frees heap state needed later, patching the jump skips that setup and corrupts state. Instead, patch the comparison operand to the expected "clean" value, or use x64dbg's "Set condition to always false" on the breakpoint rather than modifying bytes.
Related Skills
binary-analysis-patterns— static and dynamic analysis workflows for ELF/PE/Mach-Omemory-forensics— process memory acquisition, artifact extraction, and live analysisprotocol-reverse-engineering— decoding custom binary protocols and encrypted network traffic
Related skills
More from wshobson/agents and the wider catalog.

api-design-principles
Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs.

architecture-decision-records
Write and maintain Architecture Decision Records (ADRs) to document significant technical decisions with context, rationale, and consequences.

architecture-patterns
Implement Clean Architecture, Hexagonal Architecture, and Domain-Driven Design for maintainable backend systems.

async-python-patterns
Master asyncio, concurrent programming, and async/await patterns for high-performance Python applications.

attack-tree-construction
Visualize attack scenarios and defense gaps with systematic threat path mapping.

auth-implementation-patterns
Master JWT, OAuth2, session management, and RBAC patterns for secure, scalable authentication systems.