Skip to content
This repository has been archived by the owner on Nov 15, 2022. It is now read-only.

Latest commit

 

History

History
26 lines (19 loc) · 1.42 KB

README.md

File metadata and controls

26 lines (19 loc) · 1.42 KB

Project Surpassed by WDK.NET

ZeroKernel (Experimental)

Bringing kernel driver to C# with NativeAOT. It references some part of the zerosharp project by Michael Strehovsky for removing the runtime.

Building

Publish the project with latest Visual Studio 2022 and .NET 7 installed. Currently the ILC will complain that there is no native executable produced for it to link and the publish will fail. Just disregard that. You will nonetheless see a driver executable in the publish path.

Right now the driver is loadable (with kdmapper) but without any executable code. It prints "Hello World!".

WDK Credit

I personally thank and credit VollRagm for his work on extending ZeroKernel with his KernelSharp project. Crediting his work on porting WDK and CLR dummy classes.

This project contains parts of KernelSharp.

TODOs

  • Somehow magically implement runtime-less C# string marshalling.
  • Build a native export driver that exports wdk functions that our driver can pinvoke to. (Most importantly DbgPrintEx for now)
  • Get the driver to output "Hello World" string from a kernel debugger after solving TODO #2.
  • Whatever is needed after TODO #3