Fighting Game · Guides & deep dives

V2 Anti-Debugging Detection

The manifest covers three signal families on Win64-Shipping, Linux-Shipping, and Mac-Shipping:

3sections1 minread

On this page

V2 anti-debugging detection is a protected-build release contract for shipping clients. It defines which debugger-presence signals are allowed, how timing based detection is sampled, how hardware breakpoint scanning is represented as release evidence, and how the game responds without crashing the player.

Signal Families#

The manifest covers three signal families on Win64-Shipping, Linux-Shipping, and Mac-Shipping:

  • platform debugger presence, including the Win64 IsDebuggerPresent label
  • timing-based detection
  • hardware breakpoint scanning

These are configured through V2/ue/Build/DRM/v2-anti-debugging-detection.json. The manifest is deliberately descriptive; this repository does not add low-level debugger-detection code.

Response Policy#

Anti-debugging detection must be evidence-oriented. A detection enters safe-boot offline-only mode, emits structured telemetry for review, and does not crash the process. The response is do not crash, with manual review before penalty and support override allowed. The response label is safe-boot offline-only.

This layer does not perform process scanning, driver inspection, kernel-driver loading, or anti-cheat sanctions. Those are separate tasks and require their own privacy and security review.

CI Gates#

V2/ue/Tools/plan-v2-anti-debugging-detection.py emits the deterministic anti-debugging detection plan. V2/ue/Tools/check-v2-anti-debugging-detection.py validates the manifest, planner output, code-virtualization dependency, Horde wiring, CI workflow wiring, and this runbook.

Required release gates:

  • drm-anti-debugging-plan-generated
  • drm-anti-debugging-platform-coverage
  • drm-anti-debugging-signal-family-coverage
  • drm-anti-debugging-safe-response
  • drm-anti-debugging-false-positive-guardrails

The drm-anti-debugging-false-positive-guardrails gate requires safe response, manual review before penalty, support override, and a false-positive budget for every shipping desktop profile.