Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add dslsdzc/rev-skills --skill re-anti-analysisgit clone --depth 1 https://github.com/dslsdzc/rev-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dslsdzc/rev-skills/re-anti-analysis)<a href="https://agentmods.dev/skills/dslsdzc/rev-skills/re-anti-analysis"><img src="https://agentmods.dev/badge/skills/dslsdzc/rev-skills/re-anti-analysis/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dslsdzc/rev-skills/re-anti-analysis"><img src="https://agentmods.dev/badge/skills/dslsdzc/rev-skills/re-anti-analysis.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Rogue Agent · line 82 Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.Fix: Prevent the skill from modifying its own code, SKILL.md, or configuration files. Treat skill files as read-only at runtime.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00126 | $0.05851 |
| Opus 5 | $0.00063 | $0.02926 |
| Sonnet 5 | $0.00025 | $0.01170 |
| Haiku 4.5 | $0.00013 | $0.00585 |
Grade A, and why
re-anti-analysis scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 202 lines — stays where its author put it; the contents beside it link to each section on GitHub.
反分析对抗(壳识别 / 脱壳 / 反混淆)
完整工作流
- 壳识别:[[re-packer-id]] —— 先识别再动手。DIE/PEiD 签名库扫描、节名异常(UPX0/.aspack/自定义)、入口点是否指向非首节、熵 >7、导入表极小。先记 OEP 线索(EP 附近 pushad 等壳入口特征),识别出的壳名决定路径
- 分派:简单压缩壳(UPX/ASPack/FSG)→ [[re-unpack-simple]];强壳/虚拟化壳(VMProtect/Themida)→ [[re-unpack-advanced]];识别不出 → 手动流程(按 [[re-unpack-simple]] 的 ESP 定律 + 内存断点手动找 OEP,或按强壳流程处理),不硬猜壳名
- 简单壳脱壳:[[re-unpack-simple]] —— 优先官方/自动解包(
upx -d)→ ESP 定律 / 内存断点找 OEP → OEP 解密完成后转储(时机见 [[platform-tips]] 关键经验,默认转储优先)→ IAT 修复(Scylla/ImpREC,Windows) - 强壳脱壳:[[re-unpack-advanced]] —— 反调试对抗(scyllaHide 思路:NtQueryInformationProcess/时间差)→ 堆栈回溯/内存断点组合找 OEP → 转储(默认转储优先)→ IAT 修复(含重定向)→ 虚拟化代码区域标注(标记绕过而非还原)
- 反混淆:[[re-deobfuscate]] —— 脱壳后若仍有花指令 / 控制流平坦化 / 字符串加密:花指令清除、平坦化还原(D-810/手动)、字符串解密循环定位与仿真、批量脚本化、还原前后对比验证
- 验证:脱壳产物 sha256 存档 → 沙箱内复跑([[re-sandbox]] 判定脱干净、[[platform-tips]] 最高原则)→ 导入 [[re-ghidra]] / [[re-ida]] 确认 OEP 处可正常反编译;导入表可解析才算完成。产物交回原调用域继续(恶意样本回 [[re-malware]] 行为分析、破解目标转 [[re-cracking]] 授权定位)
每步结果存档(证据路径 + sha256,见 [[re-triage]]);壳指纹 / 脱壳产物是 [[re-ioc]] YARA 特征来源。
反调试方法论(全库通用,见 [[analysis-contract]] 索引)
本网关适用的反调试分析方法论(用户实战经验),各技能坑与陷阱引用此处。
基础检测
- AD1 启动即退出先查调试检测:EP/TLS/初始化函数
- AD2 IsDebuggerPresent 不代表完整反调试:组合检测,别只 patch 一点
- AD3 PEB BeingDebugged 用户态快速检测:找 PEB 访问/BeingDebugged/NtGlobalFlag
- AD4 NtGlobalFlag 异常→查堆调试标志
- AD5 CheckRemoteDebuggerPresent 不可靠:可能被 hook/替换/底层
- AD6 NtQueryInformationProcess 是重点:ProcessDebugPort/ProcessDebugObjectHandle/ProcessDebugFlags
- AD24 断 WinAPI 没命中 → 可能直接走 Native API:程序不一定调用 IsDebuggerPresent 等高层 API,可能直接调用 NtQueryInformationProcess、NtSetInformationThread、Zw 系列。分析时向下追。
异常机制
- AD7 异常没崩溃→可能反调试:INT3/INT 2D/单步异常
- AD32 INT3 不止一种形式:CC vs CD 03 长断点,异常行为不同
- AD33 INT 2D 是 Windows 特殊反调试点:调试器下/正常运行行为不同
- AD34 ICE 指令检测单步:F1 ICEBP
- AD26 异常断点行为异常→查 VEH:AddVectoredExceptionHandler——INT3 被主动处理/单步异常被吞/异常后继续运行
- AD27 SEH 链异常→可能反调试控制流:控制跳转/隐藏流程/检测 debugger
时间检测
- AD8 断点后行为变化→查 Trap Flag:EFLAGS/异常次数
- AD9 时间突然变慢→查时间反调试:QPC/GetTickCount/timeGetTime/RDTSC
- AD10 RDTSC 检测不要只看一次读取:start-end delta、比较阈值、分支位置
- AD11 Sleep 检测→查时间加速:Sleep(5000)+检查实际经过时间——调试环境/沙箱加速/时间跳跃
- AD35 时间检测不只 RDTSC:RDTSCP/QPC/GetTickCount64/APIC timer
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 202 lines · 126 tokens per session scan A 5f2e266ce65f
re-anti-analysis is a skill published in the GitHub repository dslsdzc/rev-skills (54 stars, last pushed 14d ago), licensed Apache-2.0. It adds 126 tokens to every session and 5,851 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
analyzing-golang-malware-with-ghidra
Reverse engineer Go-compiled malware in Ghidra by parsing Go buildinfo and pclntab structures, recovering stripped/obfuscated function names (e.g. via GoResolver), and extracting embedded module/dependency strings and types from Go binaries. Use when analyzing a Go-language malware sample, deobfuscating a…
analyzing-golang-malware-with-ghidra
Reverse engineer Go-compiled malware in Ghidra by parsing Go buildinfo and pclntab structures, recovering stripped/obfuscated function names (e.g. via GoResolver), and extracting embedded module/dependency strings and types from Go binaries. Use when analyzing a Go-language malware sample, deobfuscating a…
Reverse Engineering & Binary Analysis
Binary analysis, assembly interpretation, disassembly, decompilation, firmware RE, and protocol reverse engineering.
analyzing-golang-malware-with-ghidra
Reverse engineer Go-compiled malware using Ghidra with specialized scripts for function recovery, string extraction, and type reconstruction in stripped Go binaries.
reverse-engineering-arm-binaries
Reverse engineers ARM/AArch64 malware by identifying the architecture and instruction set state (ARM/Thumb), parsing ELF/Mach-O ARM headers, and orienting analysis around the ARM calling convention. Activates for requests to reverse ARM binaries, analyze AArch64 malware, or handle ARM/Thumb instruction-set decoding.
reverse-engineering-binaries-with-ghidra
Uses Ghidra to disassemble and decompile a binary, navigate to key routines via imports and strings, annotate decompiled code, and run headless scripts to automate extraction of C2, crypto, and config. Activates for requests to reverse engineer with Ghidra, decompile a binary, or script Ghidra headless analysis.