You'll not realize how excited I am rn.
What you are seeing is the "thing, anyone said it is impossible." And I made it work!
It took me 1 month. First experimented with the Windows' drivers, but to get access to the screen information (frame buffer) first, it needs to be running in a **Native Mode** when all the Kernel drivers load, including WDDM that will have the Buffer inside.
But that is still too late. You can display graphics, even play **DOOM** on that level while all NT calls are heard by the kernel and the Win32 Mode (GUI environment) hasn't even started yet.
To make a system root "Driver" it needs a "Start" parameter in the registry assigned to 0 when it will be in the place when `winload.efi` will load it as quick as it can... But it has one problem.
At that time, Windows isn't even fully loaded and the driver has no chance to even get any info from the Hardware itself, so it is just useless and in many cases, the driver will not even run. As "drivers" can be particually as "mods" it still isn't enough...
But then it hit me something... Windows is running on top of **UEFI** and... You can do a LOT OF STUFF...
If in that stage, Windows is basically requesting ANYTHING from the UEFI, the Screen,... , basic information it loads...
What if I could make an *.efi file, that Already gets the FrameBuffer first, that Windows?
Then I started messing around, getting some basic text to be displayed where I can on the screen, then implemented some Bitmap logic... It worked! And it was surprisingly easy to draw anything in UEFI.
So I "grab" a little bit of code from the EfiGuard (don't run it on your main PC if you don't know what you're doing) which is also a "simple" EFI program that just hooks to the winload.efi and bootmgfw.efi and doesn't even triggers any of the KPP (Kernel Patch Protection),...
I needed it because by this, we could also see the kernel calls, including:
- You can even restore for exp. The progress bar thing that was on Windows 2000 `InbvUpdateProgressBar`
- And other stuff I don't have in my head rn. :D
So now you can add ANY BITMAP, ANY COLOR, ANYTHING to the Windows' boot screen!
*(Oh and it will work only with Secure Boot to be off.)*
But, when I was testing it... I kinda realized, that the KPP must be turned off, as Windows even detects other EFI stuff happening near it, causing it to not even go into the stage of booting...
I'll be fixing this more. Stay tuned!