{"id":18055313,"url":"https://github.com/analogfeelings/kmdfmandelcheck","last_synced_at":"2025-03-28T00:33:13.219Z","repository":{"id":111622645,"uuid":"486560994","full_name":"AnalogFeelings/KmdfMandelcheck","owner":"AnalogFeelings","description":"A simple 200 LOC kernel driver that displays a bitmap after a BSOD.","archived":true,"fork":false,"pushed_at":"2023-08-02T00:52:08.000Z","size":52,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-17T16:17:56.460Z","etag":null,"topics":["bootvid","bsod","kernel-driver","kmdf","vs2022","wdm","windows"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnalogFeelings.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-28T11:12:48.000Z","updated_at":"2024-09-11T15:44:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"fdbe3aa8-2123-40fa-93bc-ebd9ed12afc1","html_url":"https://github.com/AnalogFeelings/KmdfMandelcheck","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogFeelings%2FKmdfMandelcheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogFeelings%2FKmdfMandelcheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogFeelings%2FKmdfMandelcheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogFeelings%2FKmdfMandelcheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnalogFeelings","download_url":"https://codeload.github.com/AnalogFeelings/KmdfMandelcheck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245949250,"owners_count":20698911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootvid","bsod","kernel-driver","kmdf","vs2022","wdm","windows"],"created_at":"2024-10-31T00:14:33.704Z","updated_at":"2025-03-28T00:33:13.156Z","avatar_url":"https://github.com/AnalogFeelings.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# :blue_square: KmdfMandelcheck\n![GitHub repo size](https://img.shields.io/github/repo-size/analogfeelings/kmdfmandelcheck?label=Repo%20Size\u0026style=flat-square)\n![Lines of code](https://img.shields.io/tokei/lines/github/analogfeelings/kmdfmandelcheck?label=Total%20Lines\u0026style=flat-square)\n![GitHub issues](https://img.shields.io/github/issues/analogfeelings/kmdfmandelcheck?label=Issues\u0026style=flat-square)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/analogfeelings/kmdfmandelcheck?label=Pull%20Requests\u0026style=flat-square)\n![GitHub](https://img.shields.io/github/license/analogfeelings/kmdfmandelcheck?style=flat-square)\n![GitHub Repo stars](https://img.shields.io/github/stars/analogfeelings/kmdfmandelcheck?label=Stars\u0026style=flat-square)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/analogfeelings/kmdfmandelcheck?label=Commit%20Activity\u0026style=flat-square)\n\nThis is a simple 200 LOC driver that displays a bitmap on screen after a BSOD occurs.\n\nIt uses a modified merge of ReactOS's [display.h](https://github.com/reactos/reactos/blob/master/sdk/include/reactos/drivers/bootvid/display.h) and [bootvid.h](https://github.com/reactos/reactos/blob/master/sdk/include/reactos/drivers/bootvid/bootvid.h) to be able to work with bootvid.dll properly.\n\n# :thinking: Examples\n\nhttps://user-images.githubusercontent.com/51166756/165745429-e586719b-5f62-4fcd-9af0-697c6f76de2c.mp4\n\nhttps://user-images.githubusercontent.com/51166756/165746027-57102521-9000-46ab-89fe-48e87dd5be98.mp4\n\n# :package: Building\n\nHere are instructions on how to build this driver.\n\n## :link: Building BOOTVID.lib\n\nOpen up the Visual Studio developer prompt, `cd` to KmdfMandelcheck's root directory, and then run the following command.\n\n```\nlib /def:BOOTVID.def /machine:x64 /out:BOOTVID.lib\n```\n\n## :gear: Building Mandelcheck.sys\n\nOpen Visual Studio 2022 and select \"Debug x64\" or \"Release x64\". Build the solution, and you will have `Mandelcheck.sys` in the output folder.\n\n# :runner: How To Run\n\nDrop `Mandelcheck.sys` in your VM and in an elevated command prompt run the following command.\n\n```\nsc create Mandelcheck binPath=C:\\Where\\The\\File\\Is\\Mandelcheck.sys type=kernel start=auto\n```\n\n\u003e [!IMPORTANT]  \n\u003e This driver will not work under UEFI systems. You must use a VM booted into Legacy BIOS mode.\n\n## :framed_picture: Building A Valid Bitmap\n\nOpen your bitmap file in GIMP, scale/crop it down to 640x480, and make it a 16 color indexed image. Export it as .bmp, and now open it in **Paint**. Save the image as `target.bmp` and place it in `C:\\KmdfMandelcheck\\` for the driver to work.\n\n\u003e [!IMPORTANT]  \n\u003e The driver will display a black screen if the bitmap is not 16 color, 4bpp.\n\n## :drum: And Now...\n\nRun `sc start Mandelcheck` in an elevated command prompt and create a BSOD. You can use [BSODMachine](https://github.com/AnalogFeelings/BSODMachine) for an easy way, or you can break and execute `.crash` in WinDBG. If you are using WinDBG, once a bugcheck occurs, you must enter `g` to continue execution, otherwise the system will be completely halted.\n\n# :balance_scale: License\n\nLicensed under the [GPL version 3.0](LICENSE.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanalogfeelings%2Fkmdfmandelcheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanalogfeelings%2Fkmdfmandelcheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanalogfeelings%2Fkmdfmandelcheck/lists"}