Anti Reversing Techniques
Seth HobsonCommunityCreated by Dávid BalatoniDistributed by Seth Hobson
- Skill
- Tool integration
- Security
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured approach to identifying and neutralizing anti-reversing protections in binaries. It covers common evasion patterns including API-based anti-debugging, PEB-based checks, timing-based detection, and code virtualization. The skill is designed for security researchers, malware analysts, and CTF participants to facilitate legitimate analysis by providing identification methods, bypass strategies, and code artifacts for neutralizing protection layers.
What it does
- Identifies anti-debugging and anti-reversing techniques within binary files.
- Provides specific bypass strategies for common protection mechanisms.
- Offers guidance on manual unpacking and OEP identification.
- Includes scripts for scanning timing-based detection patterns.
- Explains how to handle virtualization-based code protections.
- Details platform-specific differences for Windows, Linux, and ARM environments.
When to use it
- When analyzing malware that employs evasion or anti-analysis techniques.
- During authorized penetration testing or security research engagements.
- When reverse engineering packed or protected binaries.
- When developing security research tools that need to detect or bypass virtualized environments.
- When implementing or testing anti-debugging protections for CTF challenges.
Advantages
- Centralizes knowledge on diverse protection mechanisms and their respective bypasses.
- Provides actionable scripts and command sequences for immediate application.
- Addresses both static identification and dynamic analysis workflows.
- Offers clear guidance on handling platform-specific nuances like ARM vs x86.
- Includes safety and legal warnings for responsible security research.
Usage examples
- “Identify potential anti-debugging checks in this Windows binary.”
- The agent scans the binary for common API calls like IsDebuggerPresent and PEB-based flags, providing a list of offsets to investigate in a disassembler.
- “How do I bypass a timing-based RDTSC check in my target binary?”
- The agent explains how to use hardware breakpoints to avoid INT3 overhead or suggests patching the conditional jump following the timing comparison.
- “Help me unpack this binary protected with a custom packer.”
- The agent guides the user through the ESP trick in x64dbg to find the Original Entry Point (OEP) and suggests using Scylla to fix the import table.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/wshobson/anti-reversing-techniques/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip anti-reversing-techniques.zip -d .agents/skills
Documentation by Dávid Balatoni
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
Files
- ATTRIBUTION.mdAdded by AutoGineer903 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md3.8 KiB
- references/advanced-techniques.md10.4 KiB
- references/details.md11.1 KiB
SKILL.md
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
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Dávid Balatoni
- Publisher
- Seth Hobson (Community)
- Distributed by
- Seth Hobson
- Source
- wshobson/agents · plugins/reverse-engineering/skills/anti-reversing-techniques · commit 4bde316
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Dávid Balatoni or Seth Hobson.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download anti-reversing-techniques.zip