BootSkin doesn't modify ntoskrnl, it creates file called vidstub.sys in SYSTEM32\DRIVERS\ folder and writes some stuff in SYSTEM branch of registry, which forces this driver to start before ntoskrnl, believe it or not, and kinda substitute kernel's resources and code for loading boot screen picture and progress bar. But this vidstub.sys still uses bootvid.dll as VGA boot driver, just like ntoskrnl, so there can be still only 16 colors in boot screen. I read that BootSkin developers promised to include support for 256 colors in next versions, but there're no such yet. I think someone has to modify code in bootvid.dll somehow, besides ntoskrnl, if they want to use 256 col (8bit) bmp as a boot screen.