Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    gmh5225

    anti-cheat-systems

    gmh5225/anti-cheat-systems
    Research
    2,693

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    Guide for understanding anti-cheat systems and bypass techniques...

    SKILL.md

    Anti-Cheat Systems & Analysis

    Overview

    This skill covers layered anti-cheat design across kernel drivers, privileged services, in-game components, and backend telemetry. It is most useful for mapping how modern anti-cheats monitor process handles, image loads, memory integrity, driver trust, virtualization abuse, DMA threats, and suspicious input behavior on Windows.

    README Coverage

    • Anti Cheat > Guide
    • Anti Cheat > Stress Testing
    • Anti Cheat > Driver Unit Test Framework
    • Anti Cheat > Anti Debugging
    • Anti Cheat > Page Protection
    • Anti Cheat > Binary Packer
    • Anti Cheat > CLR Protection
    • Anti Cheat > Anti Disassembly
    • Anti Cheat > Sample Unpacker
    • Anti Cheat > Dump Fix
    • Anti Cheat > Encrypt Variable
    • Anti Cheat > Lazy Importer
    • Anti Cheat > Anti-Cheat Programming
    • Anti Cheat > Compile Time
    • Anti Cheat > Shellcode Engine & Tricks
    • Anti Cheat > Obfuscation Engine
    • Anti Cheat > Screenshot
    • Anti Cheat > Game Engine Protection:*
    • Anti Cheat > Open Source Anti Cheat System
    • Anti Cheat > Analysis Framework
    • Anti Cheat > Detection:*
    • Anti Cheat > Signature Scanning
    • Anti Cheat > Information System & Forensics
    • Anti Cheat > Dynamic Script
    • Anti Cheat > Kernel Mode Winsock
    • Anti Cheat > Fuzzer
    • Anti Cheat > Windows Ring3 Callback
    • Anti Cheat > Windows Ring0 Callback
    • Anti Cheat > Winows User Dump Analysis
    • Anti Cheat > Winows Kernel Dump Analysis
    • Anti Cheat > Sign Tools
    • Anti Cheat > Backup File / Backup Drivers
    • Anti Cheat > Black Signature
    • Windows Security Features

    Major Anti-Cheat Systems

    Easy Anti-Cheat (EAC)

    • Multi-component architecture with service, driver, and game-facing protections
    • Process integrity verification and memory inspection
    • Runtime driver loading with strong client-side enforcement
    • Used by: Fortnite, Apex Legends, Rust

    BattlEye

    • Kernel driver plus service and game module coordination
    • Handle protection, process monitoring, and memory scanning
    • Strong focus on injected code and runtime tampering visibility
    • Used by: PUBG, Rainbow Six Siege, DayZ

    Vanguard (Riot Games)

    • Boot-start kernel driver with early visibility into later-loaded drivers
    • Boot-time initialization
    • Driver allowlisting and aggressive system trust checks
    • Used by: Valorant, League of Legends

    FACEIT AC

    • Kernel-level competitive anti-cheat with strong process and driver monitoring
    • Emphasis on platform integrity and low tolerance for hostile drivers
    • Often discussed alongside Vanguard in kernel anti-cheat research

    Valve Anti-Cheat (VAC)

    • User-mode detection
    • Signature-based scanning
    • Delayed ban waves
    • Used by: CS2, Dota 2, TF2

    Other Systems

    • PunkBuster: Legacy FPS anti-cheat
    • FairFight: Server-side statistical analysis
    • nProtect GameGuard: Korean anti-cheat solution
    • XIGNCODE3: Mobile game protection
    • ACE (Tencent): Chinese market protection

    Detection Mechanisms

    Memory Detection

    - Code section hashing and integrity verification
    - Executable private memory and manual-map detection
    - Injected module and anomalous image mapping detection
    - Memory modification and stack provenance monitoring
    

    Process Detection

    - Handle access stripping and protected-process enforcement
    - Thread start address, APC, and context inspection
    - Debug register and hidden-thread monitoring
    - Stack trace and module-correlation analysis
    

    Kernel-Level Detection

    - Driver verification, signature policy, and blocklist checks
    - Callback registration and object access monitoring
    - System call, dispatch table, and hook integrity checks
    - PatchGuard, test-signing, and kernel trust state checks
    - Kernel pool scanning (Segment Heap aware) for hidden drivers and shellcode
    

    Kernel Pool Scanning (Segment Heap Era)

    Why Segment Heap matters for anti-cheat:
    Cheat drivers allocate memory in NonPagedPool for shellcode, hook tables,
    hidden modules. The Segment Heap (19H1+) changed pool internals:
    headers are HeapKey XOR encoded, allocation paths are split (kLFH, VS,
    Segment, Large), metadata is isolated. Anti-cheat pool scanners must
    understand these mechanisms to scan accurately without false positives.
    
    Detection targets:
    
    1. BigPool / Large Allocation scanning:
       - Walk nt!PoolBigPageTable (nt!PoolTrackTable)
       - Find allocations without corresponding DRIVER_OBJECT or loaded module
       - Detect manually mapped drivers that allocate large pool chunks
       - Large allocations have no inline header; metadata is external
    
    2. VS Allocator chunk scanning:
       - Traverse _SEGMENT_HEAP → VsContext → SubsegmentList
       - Decode _HEAP_VS_CHUNK_HEADER using HeapKey:
         real_sizes = encoded_header ^ chunk_address ^ HeapKey
       - Check decoded chunk for suspicious PoolTag, executable content,
         or allocation without matching driver
       - VS chunks carry both _HEAP_VS_CHUNK_HEADER (encoded) and
         _POOL_HEADER (PoolTag still present)
    
    3. kLFH bucket scanning:
       - _SEGMENT_HEAP → LfhContext → Buckets[] → AffinitySlots → Subsegments
       - kLFH randomizes block placement (harder to predict adjacency)
       - FreeHint encoded with LfhKey
       - Allocation pattern anomalies in specific size buckets can indicate
         pool grooming by cheat drivers
    
    4. Suspicious PoolTag detection:
       - Cheat drivers use custom or rare tags; maintain blacklist
       - Cross-reference tags against known-good tag database (pooltag.txt)
       - Tags present in pool but absent from any loaded module = suspicious
    
    5. Executable memory in NonPagedPool:
       - Find chunks with X permission but no corresponding module
       - Scan decoded chunk content for known cheat signatures, ROP gadgets,
         specific syscall stub patterns
    
    6. Segment Heap integrity checks:
       - Validate _SEGMENT_HEAP.Signature == 0xDDEEDDEE
       - Verify VS chunk header encoding consistency
       - Detect tampered heap metadata (indicates heap exploitation attempt)
    
    Required knowledge for scanner:
    - nt!RtlpHpHeapGlobals (HeapKey, LfhKey) — obtained via pattern scan
    - nt!ExpPoolQuotaCookie — for ProcessBilled decoding
    - Per-pool-type _SEGMENT_HEAP instance addresses (nt!PoolVector)
    - Allocation path determination (size → kLFH/VS/Segment/Large)
    
    Anti-cheat KDP integration:
    - Store detection rule tables in Secure Pool (ExAllocatePool3 + KDP)
    - Rules become VTL0-immutable — cheat drivers cannot modify
      detection signatures even with kernel R/W primitives
    

    Behavioral Analysis

    - Raw input timing and pattern analysis
    - Movement and aim anomaly detection
    - Statistical improbability and ML-assisted scoring
    - Telemetry collection and server-side review
    - AI visual aimbot detection (input pattern + gameplay behavior)
    

    AI Visual Aimbot Detection

    AI visual cheats (OBS capture + YOLO + hardware input) are the hardest
    class to detect because they involve no memory access, no code injection,
    no kernel driver on the gaming PC. Detection must move to behavioral
    analysis and environmental signals.
    
    Input Pattern Analysis:
    - Mouse movement micro-signature: AI-generated trajectories have
      characteristic acceleration profiles distinct from human muscle control
      even with smoothing and jitter injection
    - Engagement timing: AI reacts within a narrow, consistent latency band
      (capture → inference → output, typically 20-50 ms total) that lacks
      the variance of human reaction time distributions
    - Sub-pixel precision: hardware input devices report integer deltas,
      but AI-calculated movements exhibit systematic rounding patterns
      that differ from natural hand movement
    - Correction patterns: AI trajectories show characteristic overshoot-and-settle
      patterns at consistent magnitudes; human correction is more variable
    - Target switching: AI switches between targets with machine-like
      priority ordering (closest-to-crosshair or highest-confidence);
      humans exhibit attention bias and tunnel vision
    
    Gameplay Behavioral Signals:
    - Anomalous K/D ratio combined with other statistical outliers
    - "Snap" engagement pattern: rapid crosshair movement to target
      followed by immediate fire, repeated consistently
    - FOV-limited engagement: AI only engages targets within a specific
      pixel radius (the configured FOV), creating an unnatural engagement
      boundary visible in replay analysis
    - Consistent headshot angle distribution that doesn't match
      the player's ranked skill bracket
    - Engagement rate: AI engages available targets at a higher percentage
      than human players who miss, ignore, or react slowly to some targets
    
    Environmental Detection:
    - OBS process detection: Game Capture mode injects a graphics hook DLL
      (obs-graphics-hook64.dll) into the game process; detectable via
      loaded module enumeration, though banning it risks false-positive
      on legitimate streamers
    - Window Capture detection: DXGI Desktop Duplication creates detectable
      API state (IDXGIOutputDuplication usage patterns)
    - Frame readback detection: unusual GPU-to-CPU copy patterns
      (ReadbackTexture / staging resource creation at frame rate)
    - Known hardware input device USB VID/PID signatures
      (KMBox, certain Arduino/Teensy boards)
    - USB device enumeration anomalies: input device appearing/changing
      mid-session
    - Logitech driver version detection: known exploitable G HUB versions
    - Interception driver (interception.sys) loaded = high-risk signal
    
    Server-Side Statistical Analysis:
    - Aim trajectory reconstruction from server-received input deltas
    - Compare aim distribution against player population at same rank
    - Detect systematic per-frame aim correction vectors
      (AI produces consistent delta sequences)
    - Cross-session pattern analysis: AI users show unnaturally stable
      performance metrics across sessions (low variance in accuracy)
    - Replay-based ML classifiers trained on confirmed AI aimbot cases
    
    Anti-AI Countermeasures (Game Design):
    - Visual disruption: flashbang/smoke effects that confuse CV models
    - Character skin variety and camouflage that reduce YOLO confidence
    - Dynamic UI elements overlapping character models
    - Server-side aim validation: reject physically impossible aim transitions
    - Randomized character proportions or outline disruption to break
      trained model assumptions
    

    Server-Side Replay Analysis for AI Aimbot Detection

    Server-side detection operates on input telemetry data uploaded
    from the client, independent of what runs on the gaming PC.
    This is the strongest layer against zero-memory AI cheats.
    
    Input Telemetry Collection:
    - Record raw mouse delta (dx, dy) per tick at server tick rate
    - Record timestamps of each input event (sub-millisecond precision)
    - Record crosshair angle / view angle per tick
    - Record fire events with corresponding view angle at fire time
    - Record damage events with hit location (head/body/limb)
    - Collect per-session: total engagement count, hit count,
      headshot count, K/D, average engagement distance
    
    Replay-Based Trajectory Reconstruction:
    - Reconstruct full crosshair trajectory from recorded input deltas
    - Overlay trajectory onto 3D game state (player positions, obstacles)
    - Identify "engagement windows": trajectory segments where crosshair
      moves toward and locks onto a target
    - Measure per-engagement: time-to-target, overshoot magnitude,
      correction count, final hold time before fire
    
    Statistical Features for AI Detection:
      (extracted from reconstructed trajectories)
    
    Temporal features:
    - Reaction time distribution: time from target visibility to
      first crosshair movement toward target
      → AI: narrow, consistent band (30-80 ms capture+inference+output)
      → Human: wide, right-skewed distribution (150-400 ms typical)
    - Time-to-lock distribution: time from engagement start to
      crosshair on target
      → AI: consistent, speed-limited by smoothing algorithm
      → Human: highly variable, depends on initial angular distance
    
    Spatial features:
    - Trajectory curvature: AI Bézier curves have characteristic
      smooth, parametric curvature; human paths are more erratic
      with micro-corrections and random deviations
    - Overshoot-correction ratio: AI smoothing algorithms produce
      predictable overshoot magnitudes; humans vary wildly
    - End-point precision: AI consistently lands on bounding box
      center or specific offset; humans show scatter distribution
    - Angular velocity profile: AI ramps up/down smoothly;
      humans have irregular acceleration spikes
    
    Engagement pattern features:
    - Target selection consistency: AI always picks closest-to-crosshair
      or highest-confidence target; humans show attention bias, tunnel
      vision, and suboptimal target priority
    - FOV boundary effect: AI shows sharp engagement cutoff at
      configured pixel radius; humans have gradual falloff
    - Engagement rate: percentage of visible targets engaged;
      AI engages more consistently than humans who miss, ignore,
      or react slowly to peripheral targets
    - Multi-target switch pattern: AI switches with machine-like
      regularity; humans show grouping and hesitation
    

    ML Classifier for AI Aimbot Detection

    Feature engineering and model architecture for detecting
    AI-generated mouse input at scale.
    
    Feature Vector (per engagement window):
      f1:  reaction_time_ms
      f2:  time_to_lock_ms
      f3:  initial_angular_distance_deg
      f4:  trajectory_curvature_mean
      f5:  trajectory_curvature_std
      f6:  overshoot_magnitude_px
      f7:  correction_count
      f8:  final_hold_time_ms
      f9:  angular_velocity_max_deg_per_sec
      f10: angular_velocity_std
      f11: micro_correction_frequency (small deltas < 2px per tick)
      f12: trajectory_straightness_ratio (distance / path_length)
      f13: dx_dy_correlation (Pearson correlation of delta components)
      f14: delta_magnitude_entropy (Shannon entropy of |delta| sequence)
      f15: fire_timing_relative_to_lock_ms
    
    Session-level aggregate features:
      s1:  headshot_ratio
      s2:  hit_ratio
      s3:  reaction_time_cv (coefficient of variation across engagements)
      s4:  engagement_rate (targets engaged / targets visible)
      s5:  k/d_ratio
      s6:  fov_engagement_boundary_sharpness
      s7:  target_selection_optimality_score
      s8:  trajectory_curvature_consistency (inter-engagement variance)
    
    Model architecture options:
    - Gradient Boosted Trees (XGBoost/LightGBM):
      Best for tabular feature vectors, interpretable feature importance,
      fast inference on server. Preferred for production deployment.
    - Random Forest: simpler, less prone to overfitting on small datasets
    - 1D-CNN / LSTM on raw delta sequences:
      Operates on raw (dx, dy, dt) sequences instead of engineered features.
      Can capture patterns human engineers might miss.
      Higher compute cost; suitable for batch/offline analysis.
    - Ensemble: combine tree-based (tabular features) + sequence model
      (raw deltas) for highest accuracy
    
    Training data:
    - Positive samples: confirmed AI aimbot users (manual review, honeypot,
      or controlled testing with known cheat software)
    - Negative samples: legitimate high-skill players (important: include
      top-percentile players to avoid false-positives on skilled play)
    - Hard negatives: players with aim-assist controllers (console),
      players using legitimate accessibility tools
    
    Evaluation metrics:
    - False Positive Rate (FPR): must be extremely low (< 0.01%)
      for production deployment — banning legitimate players is catastrophic
    - True Positive Rate (TPR): secondary to FPR; 70-85% TPR is acceptable
      if FPR is near-zero
    - Use session-level aggregation: flag a player only if multiple
      sessions show consistent AI patterns (reduces both FP and FN)
    
    Deployment pipeline:
      Client → input telemetry upload (per tick) → server telemetry DB
      → batch feature extraction (per engagement window)
      → ML inference (per session)
      → risk score aggregation (per player, across sessions)
      → threshold → manual review queue or automated action
    
    Adversarial robustness:
    - Cheat developers tune smoothing parameters to evade specific features
    - Defense: retrain model periodically on newly confirmed samples
    - Use feature combinations rather than single-feature thresholds
    - Ensemble across multiple sessions reduces evasion success
    - Raw sequence models (CNN/LSTM) are harder to evade than
      hand-crafted feature thresholds because the evasion space
      is higher-dimensional
    

    Hardware Input Device Detection

    Detecting KMBox and similar hardware input injectors at the
    platform/driver level.
    
    USB Enumeration Signals:
    - Known VID/PID combinations for KMBox, Arduino Leonardo (2341:8036),
      Teensy (16C0:0486), generic CH340/CP2102 serial adapters
    - USB device appearing/disappearing during game session
    - Multiple HID mouse devices where only one physical mouse is expected
    - USB device with HID mouse capability but no manufacturer string
      or generic "Arduino LLC" / "Teensyduino" manufacturer
    
    USB HID Report Analysis:
    - Hardware input devices generate genuine HID reports, but:
      - Report rate: KMBox/Arduino typically report at exactly the
        programmed rate (e.g., every 1ms or 8ms); real mice have
        polling rate jitter tied to USB microframe scheduling
      - Report timing: AI-injected movements arrive in bursts
        (idle → sudden burst of calculated deltas → idle),
        while human movement is continuous with natural pauses
      - Delta distribution: AI deltas cluster around computed values
        with optional noise; human deltas follow characteristic
        distributions per movement speed
    
    Network Traffic Indicators (KMBox Net):
    - KMBox Net uses UDP communication on the local network
    - Packet pattern: consistent-size UDP packets at high frequency
      from a secondary device to the KMBox's IP
    - If cheat PC is on the same network: detectable via
      network monitoring (firewall/router logs)
    
    Driver-Level Detection:
    - interception.sys: known driver signature, detectable via
      module enumeration and PiDDBCacheTable
    - Logitech G HUB DLL injection: detect unexpected DLL loads
      into GHUB process, or specific exploitable GHUB versions
      via file version checking
    
    Limitations:
    - Pure hardware HID injection (KMBox, Arduino) is fundamentally
      indistinguishable from real mouse input at the HID protocol level
    - Detection must rely on statistical input analysis rather than
      driver/device-level signatures
    - Dual-machine setups with capture cards leave zero footprint
      on the gaming PC beyond the hardware input device
    

    Anti-Cheat Architecture

    User-Mode Components

    • Process scanner
    • Module verifier
    • Overlay detector
    • Screenshot capture

    Kernel-Mode Components

    • Driver loader
    • Memory protection
    • System callback registration
    • Hypervisor and driver trust detection
    • VAD and executable memory inspection

    Hypervisor-Level Components

    - EPT-based memory access monitoring
    - Callback list write protection via EPT hooks
    - ETW structure integrity enforcement
    - AC driver code page protection (prevent patching)
    - VMCALL interface for policy configuration from kernel driver
    - VM exit handlers for EPT violations on protected regions
    

    Server-Side Components

    • Statistical analysis
    • Replay verification
    • Report processing
    • Ban management

    Research Techniques

    Static Analysis

    1. Dump and analyze AC drivers
    2. Reverse engineer detection routines
    3. Identify signature patterns
    4. Map callback registrations and trust boundaries

    Dynamic Analysis

    1. Monitor system calls
    2. Track driver communications
    3. Inspect memory layout and module provenance
    4. Debug with kernel or hypervisor tools

    Bypass Categories

    Memory Access

    • Physical memory read/write
    • DMA-based access
    • Hypervisor memory virtualization
    • Driver-based access

    DMA Cheat Detection Methodology

    PCIe-Layer Detection Pipeline

    Detection targets inconsistencies between what a device claims to be
    and how it actually behaves. Each technique targets a specific
    firmware emulation tier or class of gap.
    
    Configuration Integrity:
    - VID/DID/SVID/SDID against known-real-silicon allowlist
    - Capability-chain walk: DWord-aligned Next pointers, no overlaps, no cycles
    - Signature-residue scanning: Xilinx 7-series default byte patterns,
      Device Capabilities field bits, reserved-field defaults
    - Capability presence consistency: donor model must expose expected caps
    - BAR mask verification: write 0xFFFFFFFF, compare size mask vs donor
    
    BAR Memory Probing:
    - Send Memory Read TLPs to BAR ranges, validate responses by donor class
    - NIC BAR0: register layout (ring descriptors, interrupt mask, link status)
    - NVMe BAR0: controller registers (CAP, VS, CC, CSTS, AQA, ASQ/ACQ)
    - XHCI BAR0: capability registers (CAPLENGTH, HCSPARAMS, HCCPARAMS)
    - stock pcileech zerowrite4k returns all-zeros; loopaddr echoes address
    
    R/W Consistency:
    - Toggle writable bits (Command BME, Device Control MPS/MRRS, MSI Enable)
    - Walk W1C bits (Status, AER Status): write 1s, confirm clear semantics
    - Walk reserved bits: write 1s, confirm read-back as 0
    - Per-register writable masks must match donor model exactly
    
    Link-State Validation:
    - Negotiated Width/Speed vs claimed capabilities (Gen4 x8 claim
      but Gen2 x1 reality = one-read contradiction)
    - DLL Active, Slot Clock Config consistency
    - ASPM behavioral validation: L0 ↔ L1 transition patterns must
      match donor class; never leaving L0 when ASPM is claimed = anomalous
    
    AER Baselining:
    - Compare correctable-error rates against per-silicon baseline
    - Implausibly clean logs (zero correctables when donor normally
      produces Bad TLP / Replay Timer Timeout) = anomalous
    - UR/CA response distribution to probes of unimplemented offsets
    

    Completion Latency Fingerprinting

    Real silicon: DRAM contention + internal arbiters → heavy-tailed
    latency distributions. BRAM-backed emulators: fixed clock cycles
    → much lower variance.
    
    Statistical methods:
    - Kolmogorov–Smirnov test: compare empirical CDFs vs reference
    - Hill estimator: tail index (real silicon has non-trivial tail)
    - Anderson-Darling test: sensitive to tail differences
    
    Tier-5 firmwares add LFSR-based jitter, but matching real
    distribution shape (mean, variance, tail index, mode count)
    requires modeling donor DRAM access patterns.
    

    MSI/MSI-X Behavioral Validation

    - Device with MSI Enable + programmed Address/Data + attached driver
      should produce interrupts
    - Zero interrupts when driver should exercise device = anomalous
    - Implausibly uniform arrival times (60 Hz heartbeat) = timer-driven
    - MSI-X probe: mask vector → induce condition → observe PBA bit →
      unmask → observe interrupt firing. Real silicon passes; spoofed rarely does.
    

    Cheat-Phase Access Pattern Recognition

    Development phase: slow, broad scanning (MemProcFS signature search)
    Execution phase: narrow, periodic reads (60–240 Hz) of small offset set
    
    Execution phase statistical signature:
    - High temporal periodicity
    - Low address-space breadth
    - Alignment to game-frame intervals
    - Distinguishing features: Fano factor, autocorrelation at frame intervals,
      address-space coverage entropy
    
    Honeypot regions effective when combined with IOMMU denial/fault logging,
    hypervisor EPT traps, decoy IOVA mappings, or server-side behavioral traps.
    

    IOMMU-Layer Detection

    Fault-Rate Monitoring:
    - Per-device fault rate from IOMMU fault-recording / WHEA
    - Legitimate devices with correct drivers rarely fault
    - Sustained nonzero rate = direct evidence of out-of-domain access
    
    Domain Assignment Audit:
    - Flag devices on passthrough/identity domains under strict mode
    - Flag unexpectedly large IOMMU groups (poor ACS topology)
    - Verify multi-function devices sharing Domain ID legitimately
    
    ACS Topology Verification:
    - Walk bridge topology, verify Source Validation, Translation Blocking,
      P2P Request/Completion Redirect on every relevant bridge
    - Bridges without ACS = isolation holes
    

    IOMMU Containment Primitives

    Before ban verdict, containment protects the live match:
    
    1. IOMMU domain sandbox: reprogram device domain to sandbox memory;
       cheat reads garbage data
    
    2. Bus Master Enable clearance: toggle Command[2] to 0;
       effective for tier-0 through tier-3
    
    3. Downstream Port Containment (DPC): if upstream port supports
       DPC Extended Capability (0x001D), trigger Contained state —
       all TLPs dropped, no firmware-side BME race
    
    4. Anti-cheat-owned device domain: map only sandbox IOVAs
    

    External Trust Anchors

    When local kernel/hypervisor trust fails, external anchors close the gap:
    
    TPM Remote Attestation:
    - Server sends nonce → client requests TPM2_Quote(AIK, PCR_selection, nonce)
    - Verifier checks: AIK signature, certificate chain, EK binding,
      nonce freshness, PCR composite matches known-good policy
    - Compromised kernel cannot retroactively alter extend-only PCRs
    
    Measured Boot PCR Relevance:
    - PCR[0]: UEFI firmware code
    - PCR[7]: Secure Boot policy + DMA Protection Disabled event
    - PCR[17]: DRTM/Secure Launch measurement
    
    UEFI Pre-Boot DMA Integrity:
    - Verify DMAR/IVRS protection indicators
    - Cross-check BIOS version against known vulnerable CVE lists
    - Verify PCR[7] DMA Protection Disabled event state
    

    Layered Detection Synthesis

    No single signature is durable. Production pipeline layers:
    
    1. Pre-game: IOMMU active, IR enabled, Secure Boot, VBS/HVCI,
       TPM provisioned, attestation validates, BIOS not vulnerable,
       ACS topology verified
    
    2. Inventory: full 4 KB config dump per device, problem codes,
       SMBIOS slot cross-reference
    
    3. Config integrity: per-donor reference database comparison
    
    4. Behavioral sampling: Link Status, AER counters, interrupt rates,
       IOMMU fault rates, BAR content
    
    5. Statistical analysis: latency distributions, interrupt distributions,
       ASPM transition rates
    
    6. Cheat-phase: honeypot access, access pattern classifiers
    
    Verdict requires multi-signal correlation — single signals can
    false-positive; combinations rarely do. Three independent signals
    push false-positive rates below practical threshold.
    

    Firmware Sophistication Tiers (Detection Mapping)

    Tier 0 (Stock):        VID/DID blacklist catches immediately
    Tier 1 (Bridge):       Signature residue, driverless device detection
    Tier 2 (Shadow):       R/W consistency probing catches write drops
    Tier 3 (Overlay RAM):  BAR probing + class-functional A/B testing
    Tier 4 (BAR+MSI):      Interrupt distribution + BAR content baselining
    Tier 5 (Behavioral):   Multi-session latency/ASPM/AER statistical analysis
    Tier 6 (Private):      Requires external trust anchors (TPM + attestation)
    

    Forensic Evidence for DMA Cases

    Capture on detection:
    - Full 4 KB config dump + capability chain walk
    - PCIe link state history (LTSSM, ASPM transitions)
    - MSI/MSI-X arrival timeline
    - AER correctable counts
    - IOMMU fault log entries + domain assignments
    - ACS bridge state
    - Honeypot access records (EPT trap log)
    - TPM PCR snapshot
    - MCFG / DMAR / IVRS ACPI tables
    - SMBIOS slot inventory + BIOS version
    - Completion latency distribution histograms
    
    Strongest evidence: hardware signal + behavioral signal + temporal correlation.
    Three independent signals make false-positive appeals manageable.
    

    Code Execution

    • Manual mapping
    • Thread hijacking
    • APC injection
    • Kernel callbacks

    Detection Evasion

    • Signature mutation
    • Timing attack mitigation
    • Stack spoofing
    • Module hiding

    Security Features Interaction

    Windows Security

    • Driver Signature Enforcement (DSE)
    • PatchGuard/Kernel Patch Protection
    • Hypervisor Code Integrity (HVCI)
    • Secure Boot
    • TPM-backed attestation considerations

    Virtualization Detection

    • VT-x/AMD-V detection
    • Hypervisor presence checks
    • VM escape detection
    • Timing-based detection

    Hypervisor-Based Defense for Anti-Cheat

    Concept:
    - Use hypervisor (EPT/SLAT) to enforce anti-cheat protections
      from a privilege level above the kernel
    - Even if attacker achieves kernel R/W (BYOVD, exploit),
      hypervisor-level enforcement remains intact
    - EPT hooks replace traditional kernel hooks:
      operate outside the guest OS, invisible to kernel-level rootkits
    
    EPT Hook Protection Targets:
    - Anti-cheat driver executable pages
      → Prevents attackers from patching AC driver code in memory
    - Kernel callback lists (PsSetCreateProcessNotifyRoutine, ObRegisterCallbacks)
      → Write authorization moved to hypervisor; kernel-level callback removal denied
    - ETW-related structures
      → Unauthorized writes trigger EPT violations, caught by hypervisor
    - EPP/AC process memory
      → Protects security software from silent tampering
    
    Hypervisor vs Kernel-Level Threats:
    - Common kernel-level attack chain:
      1. Attacker uses BYOVD or kernel exploit for R/W primitives
      2. Patches callbacks to remove AC notifications
      3. Tampers with ETW to disable telemetry
      4. Modifies AC driver code to blind detection
    - With hypervisor defense:
      1. Same kernel R/W primitives obtained
      2. Write to protected callback list → EPT violation → VM exit
      3. Hypervisor evaluates context and denies unauthorized modification
      4. AC callbacks and telemetry remain intact
    
    Advantages:
    - Higher privilege than kernel — cannot be disabled by kernel rootkits
    - Transparent to guest: no kernel patches needed
    - Effective even after full kernel compromise
    - Complements existing kernel-mode detection (callbacks, signatures, scans)
    
    Limitations:
    - Requires hardware virtualization support (VT-x/AMD-V)
    - Performance overhead from VM exits on protected region access
    - Complexity: must handle nested virtualization (VMware, Hyper-V)
    - DMA attacks bypass hypervisor memory protections (separate threat)
    

    Code Protection Techniques

    Page Protection

    - Executable page guard pages and trap-based integrity monitoring
    - NX bit enforcement and DEP policy
    - PAGE_GUARD + single-step trap for code coverage without patching
    - VirtualProtect monitoring to detect runtime permission changes
    

    Binary Packing & Encryption

    - PE packers: UPX, Themida, VMProtect, Enigma, MPRESS
    - CLR protection: .NET obfuscation (ConfuserEx, Dotfuscator, .NET Reactor)
    - Encrypt Variable: runtime value encryption to frustrate memory scanners
    - Lazy Importer: compile-time import hiding to avoid IAT-based detection
    - Compile-time techniques: string encryption, constexpr obfuscation, COFF obfuscation
    

    Shellcode & Obfuscation

    - Shellcode engines: position-independent code generation, syscall stubs
    - Obfuscation engines: OLLVM-based, custom LLVM passes, MBA (Mixed Boolean-Arithmetic)
    - Anti-disassembly: opaque predicates, junk code insertion, control flow flattening
    

    Heartbeat & Screenshot

    Heartbeat Mechanisms

    - Periodic client-to-server health check packets
    - Encrypted challenge-response with server nonce
    - Timing-based integrity: detect suspended or debugged processes
    - Failure modes: silent disconnect, delayed ban, immediate kick
    

    Screenshot Capture

    - AC-initiated screen capture for manual or automated review
    - BitBlt / PrintWindow / DXGI desktop duplication
    - Anti-screenshot evasion: overlay hiding, DWM composition bypass
    - Server-side ML classifiers for ESP/overlay detection in captured frames
    

    Telemetry Pipeline

    Client-Side Collection

    - Module list enumeration and hash reporting
    - Handle table snapshots for suspicious access patterns
    - Stack trace sampling at periodic intervals
    - Driver load events and callback registration state
    - Hardware fingerprint (disk serial, NIC MAC, SMBIOS, GPU)
    

    Transport & Server-Side

    - Encrypted telemetry channel (TLS + custom encryption layer)
    - Server-side aggregation and anomaly scoring
    - ML-based behavioral clustering for ban waves
    - Replay system integration for suspicious session review
    

    Ethical Considerations

    Research Guidelines

    • Focus on understanding, not exploitation
    • Report vulnerabilities responsibly
    • Respect Terms of Service implications
    • Consider impact on gaming communities

    Legal Aspects

    • DMCA considerations
    • CFAA implications
    • Regional regulations
    • ToS enforcement

    Resources Organization

    Detection Research

    - Anti-cheat driver analysis
    - Detection routine documentation
    - Callback enumeration tools
    

    Bypass Research

    - Memory access techniques
    - Injection methods
    - Evasion strategies
    

    Tools

    - Custom debuggers
    - Driver loaders
    - Analysis frameworks
    

    Data Source

    Important: This skill provides conceptual guidance and overview information. For detailed information use the following sources:

    1. Project Overview & Resource Index

    Fetch the main README for the full curated list of repositories, tools, and descriptions:

    https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/README.md
    

    The main README contains thousands of curated links organized by category. When users ask for specific tools, projects, or implementations, retrieve and reference the appropriate sections from this source.

    2. Repository Code Details (Archive)

    For detailed repository information (file structure, source code, implementation details), the project maintains a local archive. If a repository has been archived, always prefer fetching from the archive over cloning or browsing GitHub directly.

    Archive URL format:

    https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/archive/{owner}/{repo}.txt
    

    Examples:

    https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/archive/ufrisk/pcileech.txt
    https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/archive/000-aki-000/GameDebugMenu.txt
    

    How to use:

    1. Identify the GitHub repository the user is asking about (owner and repo name from the URL).
    2. Construct the archive URL: replace {owner} with the GitHub username/org and {repo} with the repository name (no .git suffix).
    3. Fetch the archive file — it contains a full code snapshot with file trees and source code generated by code2prompt.
    4. If the fetch returns a 404, the repository has not been archived yet; fall back to the README or direct GitHub browsing.

    3. Repository Descriptions

    For a concise English summary of what a repository does, the project maintains auto-generated description files.

    Description URL format:

    https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/description/{owner}/{repo}/description_en.txt
    

    Examples:

    https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/description/00christian00/UnityDecompiled/description_en.txt
    https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/description/ufrisk/pcileech/description_en.txt
    

    How to use:

    1. Identify the GitHub repository the user is asking about (owner and repo name from the URL).
    2. Construct the description URL: replace {owner} with the GitHub username/org and {repo} with the repository name.
    3. Fetch the description file — it contains a short, human-readable summary of the repository's purpose and contents.
    4. If the fetch returns a 404, the description has not been generated yet; fall back to the README entry or the archive.

    Priority order when answering questions about a specific repository:

    1. Description (quick summary) — fetch first for concise context
    2. Archive (full code snapshot) — fetch when deeper implementation details are needed
    3. README entry — fallback when neither description nor archive is available
    Recommended Servers
    Bright Data
    Bright Data
    StudioMeyer-Crew
    StudioMeyer-Crew
    ThinAir Data
    ThinAir Data
    Repository
    gmh5225/awesome-game-security
    Files