whatisgithub

What is bugchecksuppressor?

xaff-xaff/bugchecksuppressor — explained in plain English

Analysis updated 2026-05-18

14C++Audience · researcherComplexity · 5/5Setup · hard

In one sentence

A Windows kernel driver proof of concept that intercepts kernel crashes using only data-pointer hooks, avoiding HVCI's protection of kernel code, so the system stays running instead of blue-screening.

Mindmap

mindmap
  root((BugcheckSuppressor))
    What it does
      Intercepts kernel crashes
      Prevents blue screen
      Data only hooks
    Technique
      HalPrivateDispatchTable hook
      SEH unwind recovery
      RtlUnwindEx
    Tech stack
      C plus plus
      Windows Driver Kit
    Context
      Proof of concept
      HVCI and kCET research

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Research how HVCI protected Windows kernels can still be manipulated through data-only hooks rather than code patches.

USE CASE 2

Study SEH unwind and RtlUnwindEx as a mechanism for recovering from a kernel fault without a full crash.

USE CASE 3

Use as a starting point for exploring PatchGuard suppression techniques on HVCI and kCET enabled systems.

What is it built with?

C++Windows Driver KitWindows kernel

How does it compare?

xaff-xaff/bugchecksuppressor6x-u/enrinanimeali-pahlevani/2d_scan_merger_ros2
Stars141414
LanguageC++C++C++
Setup difficultyhardhardhard
Complexity5/54/54/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires Visual Studio 2022 with the WDK, a test-signing certificate, and a Windows 11 24H2 VM with HVCI and kCET enabled.

No license information is provided in the source material.

So what is it?

BugcheckSuppressor is a proof-of-concept Windows kernel driver, tagged "poc" and "rootkit" in its topics, that catches kernel crashes, the kind that normally cause a Blue Screen of Death, and lets the system keep running instead of rebooting. It targets a specific technical challenge: doing this without triggering HVCI, short for Hypervisor-Protected Code Integrity, a modern Windows security feature that prevents any software from writing new code into the kernel at runtime. The core problem it explores is that HVCI makes the traditional approach, patching a few bytes of kernel code to intercept a crash, impossible. BugcheckSuppressor works around this by using only data-only hooks: it modifies pointers in a writable data table, HalPrivateDispatchTable, rather than touching any executable kernel code. HVCI only guards code pages, not data pages, so this swap goes undetected. When a crash fires, the hook intercepts it before the blue screen appears. It then uses the kernel's own built-in error-recovery mechanism, called SEH unwind, via RtlUnwindEx, to cleanly walk back up the call stack, run all the cleanup code along the way, and land the system in a safe state. From the perspective of the rest of the OS, the bad driver that caused the crash simply failed to load and returned an error, as if nothing catastrophic happened. The README describes this as a thought experiment: the authors' stated motivation is exploring whether a full PatchGuard suppressor, PatchGuard being Windows' own kernel self-protection, is possible under HVCI. Tested on Windows 11 24H2 build 26200 with HVCI and kCET enabled. Written in C++.

Copy-paste prompts

Prompt 1
Explain how BugcheckSuppressor hooks HalPrivateDispatchTable without triggering HVCI.
Prompt 2
Walk me through building and testing BugcheckSuppressor on a Windows 11 24H2 VM with HVCI enabled.
Prompt 3
What is the difference between the bad-driver-origin recovery and kernel-origin recovery paths in this project?
Prompt 4
Why does data-only hooking bypass HVCI's code integrity protection?

Frequently asked questions

What is bugchecksuppressor?

A Windows kernel driver proof of concept that intercepts kernel crashes using only data-pointer hooks, avoiding HVCI's protection of kernel code, so the system stays running instead of blue-screening.

What language is bugchecksuppressor written in?

Mainly C++. The stack also includes C++, Windows Driver Kit, Windows kernel.

What license does bugchecksuppressor use?

No license information is provided in the source material.

How hard is bugchecksuppressor to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is bugchecksuppressor for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.