anti-reversing-techniques
Helps your agent understand techniques to make software analysis difficult. Useful for security and research.
What it does
This tool helps understand and bypass software protections. It identifies how a program tries to hide itself from analysis and suggests ways to disable these protections so you can study it.
When to use it
- ✓Analyzing how a virus tries to disguise itself.
- ✓Creating security challenges for competitions.
- ✓Studying programs that have been 'packed' to make analysis difficult.
Example of what to ask your AI
“Analyze this program and tell me how it protects itself against reverse engineering, and how I can disable these protections.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You provide the program and state your goal. The tool looks for known protection techniques, like timing checks or debugger detection, and suggests how to bypass them.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add wshobson/agents --skill anti-reversing-techniquesOr download just the file:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/reverse-engineering/skills/anti-reversing-techniques/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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
FAQ
Why do I need permission to use this?
Some protections are in place to prevent unauthorized access. Using these techniques without permission can be illegal or violate terms of service.
What is 'reverse engineering'?
It's the process of taking apart a program to understand how it works internally, usually for security or learning purposes.
What are 'obfuscation techniques'?
These are methods used to make a program's code harder to understand and analyze, like scrambling instructions or hiding data.
Details
Original description by the author
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.
repo: wshobson/agents
Popularity
- GitHub stars
- 41k
- Ranking position
- #4940
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
screen-reader-testing
Has your agent test websites using screen readers to ensure they are accessible.
wshobson/agents
wcag-audit-patterns
Helps your agent audit websites for accessibility and fix issues according to WCAG guidelines.
wshobson/agents
multi-reviewer-patterns
Enables your agent to coordinate parallel code reviews, deduplicating findings and consolidating reports.
wshobson/agents
parallel-debugging
Allows the agent to debug complex issues with parallel investigations and root cause analysis.
wshobson/agents
Similar skills
django-security
Helps your agent implement security practices in Django applications. It focuses on authentication, authorization, and prevention against common attacks, ensuring more secure code.
affaan-m/ECC
laravel-security
Helps your agent secure Laravel applications against threats. Implements security practices for authentication, authorization, and common attack prevention.
affaan-m/ECC
module-regression
Helps your agent manage changes in large projects. Ensures code changes in one part don't break other parts.
affaan-m/ECC