One self-contained .exe for direct malware triage and persistent cases โ static PE analysis, explainable similarity clusters, and opt-in threat-intel enrichment. No Python, no installer, zero dependencies.
horus.exe sample.exe runs direct analysis with no case setup. Use --case when you want repeatable analysis across a sample directory.
--case inventories up to 5,000 files, preserves state, finds exact duplicates, and clusters related valid PEs--enrich opts in to VirusTotal--enrich opts in to VirusTotal and AbuseIPDB lookups--enrich opts in to configured reputation providersUNKNOWN unless a configured provider supports itMD5, SHA-1 and SHA-256 computed via Windows BCrypt/CNG โ plus a Mandiant-compatible imphash for family pivoting.
PE32 / PE32+ headers, sections and imports โ every offset and length bounds-checked, so malformed samples are safe to feed it.
Per-section Shannon entropy flags packed/encrypted regions and known packers (UPX, Themida, VMProtectโฆ).
~110 Windows APIs mapped to the capabilities they imply โ injection, keylogging, persistence, evasion โ and the dangerous combinations.
Incremental refresh, verify, rebuild, prune, portable relative paths, and searchable offline exports for directories of up to 5,000 files.
SHA-256 duplicate groups for every file and representative-based PE clusters using TLSH plus structural fingerprints โ without claiming a definitive family.
--enrich sends only hashes and extracted indicators to configured VirusTotal and AbuseIPDB providers. Sample bytes are never uploaded.
--json for automation; exit codes distinguish suspicious results, fatal errors, and incomplete or UNKNOWN analysis.
Common dual-use APIs (LoadLibrary, CreateProcess) are shown but don't move the score alone. Only rare primitives and dangerous combinations do.
Complete analysis found no concerning evidence.
Suspicious imports, no strong signals.
Multiple concerning capabilities or combos.
Strong evidence of malicious intent.
UNKNOWN is separate from these score bands: it means the available evidence was not sufficient for a scored verdict.
Download horus.exe from the Releases page.\horus.exe suspicious.exe.\horus.exe --case C:\Samples --gui$env:VT_API_KEY = "โฆ" ; .\horus.exe suspicious.exe --enrich