scan_anti_analysis_primitives
Scan a binary to detect anti-analysis primitives including anti-debug, anti-vm, anti-emulator, anti-sandbox, process introspection, memory integrity, and code integrity by examining string table, imports, and sections.
Instructions
Scan a binary for anti-analysis primitives (defender side).
Walks the string table + the IAT + (best-effort) the
section table and matches the content against the
vendored data/anti-analysis-catalog.json. Returns
category-only labels (anti_debug, anti_vm,
anti_emulator, anti_sandbox, process_introspection,
memory_integrity, code_integrity). Never names
a specific commercial product.
The byte-sequence evidence (RDTSC = 0F 31, INT 2D = CD 2D,
INT 3 = CC, CPUID = 0F A2) is not checked here — that
requires a disasm pass via re-rizin.search_bytes.
re-anti-analysis is the cross-tool orchestrator that
does both the string-table pass and the disasm pass.
Args: path: file to scan max_per_category: per-category cap (default 100)
Returns::
{
"path": "...",
"matches": [{"primitive": "...", "category": "...",
"evidence_kind": "...", "offset": N,
"section": "..."}, ...],
"by_category": {"anti_debug": 4, "anti_vm": 2, ...},
"truncated": bool
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| max_per_category | No |