A Windows forensic utility that detects the presence, configuration, and execution traces of anti-cheat software through multi-layer system analysis.
- ACE (AntiCheatExpert)
- EA Anti-Cheat / Javelin
- EAC (EasyAntiCheat)
- BattlEye
- HoYoProtect (mhyprot)
The scanner collects evidence across the following subsystems:
Kernel & Drivers
- Minifilter driver enumeration via Windows Filter Manager (
fltmc) - Loaded kernel module listing via DriverQuery
- WMI system driver cross-reference against vendor signatures
Processes & Services
- Service Control Manager (SCM) database query for registered anti-cheat services
- Active process analysis with signature matching, fuzzy matching, and metadata fallback
File System & Binary Forensics
- Authenticode digital signature verification (batched via PowerShell)
- PE metadata extraction (CompanyName, ProductName, etc.)
- SHA256 hashing for binary identification
Execution Artifacts
- BAM (Background Activity Moderator) per-user SID analysis
- AppCompatFlags execution history (Compatibility Assistant)
- Shell MuiCache scan
- Prefetch file parsing
Registry Forensics
- Installation keys and persistence mechanism analysis
- WOW6432Node cross-architecture scanning
- App Paths and Uninstall key inspection
Network & IPC
- Named pipe namespace scan (
\\.\pipe\) - DNS resolver cache inspection
- Active connection enumeration via
netstat
System Configuration
- BCD (Boot Configuration Data) boot entry and kernel flag checks
- Scheduled task enumeration
- Windows Defender exclusion and Firewall rule review
All detection subsystems inherit from a common BaseChecker interface and return standardized Detection dataclass objects. An optimized O(1) signature index is used for high-volume matching. Checkers are registered in checkers/registry.py and run in parallel via ThreadPoolExecutor.
| Checker | Coverage |
|---|---|
ServiceChecker |
SCM-registered anti-cheat services |
ProcessChecker |
Running processes and executable metadata |
DriverFileChecker |
Kernel-mode driver files |
FileChecker |
Filesystem binary artifacts |
RegistryChecker |
Registry keys and values |
TaskChecker |
Scheduled tasks |
TraceChecker |
Execution artifacts (BAM, Prefetch, MUICache, etc.) |
- Windows 11 (x64)
- Python 3.10+
- Administrator privileges (recommended for full coverage)
| Package | Version |
|---|---|
psutil |
>=5.9, <7 |
pywin32 |
>=306, <400 |
rapidfuzz |
>=3.0, <4 |
git clone https://github.com/PickAngE/Anti-Cheat-Scanner.git
cd Anti-Cheat-Scanner
pip install -r requirements.txtpython main.pyThe script automatically requests elevation via UAC. If elevation is denied, the script exits.
The script automatically requests elevation via UAC. If elevation is denied, the script exits.
python main.pyResults are written to an AntiCheat_Report_<timestamp>.txt file in the current working directory (preserved after UAC elevation), including detected software, matched signatures, and subsystem findings. With --json, a machine-readable .json report is also generated with the same data structured by anti-cheat product and category.
- Automatic privilege elevation: Requests Administrator privileges via UAC when detected as non-admin, with a silent fallback to limited coverage if denied.
- Standardized detection format: All checkers return
Detectiondataclass objects with uniform fields (category,text,ac_name,active,raw,tech), consumed by a single report builder. - Parallel execution: Checkers run concurrently via
ThreadPoolExecutor(configurable with--workers). - Multi-layer matching: Exact signature match through O(1) index, fuzzy name matching via rapidfuzz, and metadata-based detection (CompanyName, ProductName, digital certificate subject).
- External signature database: Anti-cheat signatures are loaded from
config/signatures.json. - Optimized signature indexing: Builds an O(1) lookup index from the signature database for high-volume string matching across all subsystems.
- Batched Authenticode verification: Digital signatures are verified in bounded PowerShell batches to minimize process overhead and command length.
- Segment-based path matching: Filesystem scans use folder segment matching to reduce false positives.
This tool is intended for forensic analysis, system auditing, and educational purposes only. Detection results are based on heuristic indicators and historical artifacts; they may contain false positives or miss obfuscated or unknown anti-cheat implementations. Always cross-validate findings with additional forensic tools.
Proprietary. See LICENSE for full terms.