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
IsDebuggerPresentlabel - 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-generateddrm-anti-debugging-platform-coveragedrm-anti-debugging-signal-family-coveragedrm-anti-debugging-safe-responsedrm-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.