Jump to content

[WIP] Windows Vista Extended Kernel


win32

Recommended Posts

5 minutes ago, yoltboy01 said:

Nah haha I dont have a YT channel, but I can create one and also do a video if you want about Google Earth Pro or Chromium maybe? Since the kernel is your work, I wouldnt do anything without your permission bro

Don't worry about it dude. You can create a video if you like. :)

Link to comment
Share on other sites


Great video @WinClient5270 :thumbup

 

you claimed FF 78 doesnt work in a comment thats because you need to open up firefox.exe in CFF Explorer, go into the import table, select ntdll.dll and change the entry RtlQueryPerformanceCounter to NtQueryInformationProcess , maybe you can add that in your description , credits go to @win32 ofcourse , once again.

Edited by burd
Link to comment
Share on other sites

A new bugfix for shell32.dll is to be released, where Shell_NotifyIconGetRect will now redirect to Shell_NotifyIconW due to some bugs with my implementation of the former which are fixed when calling the latter. SHAssocEnumHandlerForProtocolByApplication is also in the pipeline; however, the Opera components I looked at were all 32bit so that again will take awhile for those interested.

As for the Windows codecs, it appears that these functions will needed to be added to the following files. Then we should be able to use the AAC/MPEG-4 decoders from Windows 7 (msmpeg2adec.dll and msmpeg2vdec.dll):

kernel32

SetThreadIdealProcessorEx

GetThreadGroupAffinity

mfplat

MFCopyImage

MFCreateVideoMediaType

MFGetStrideForBitmapInfoHeader

Of course, some parts of those mfplat functions are hideously complex though. But I don't they'll beat my XP x64-based LoadLibraryExW rewrite (mostly done, but some subroutines need to be fixed up). :puke:

On another note, by nop-ing the first few instructions of VerifyVersionInfoW in kernel32, you can effectively disable all version checks, with negative side effects like browsers thinking they're running on Windows 10 (so Serpent has the W10 appearance complete with oversized window controls on top of the native ones and newer Firefoxes expecting Windows 10 crash). I am considering offering a version of kernel32 with the gimped VerifyVersionInfoW to be used in cases where version checks are otherwise impossible to avoid.

Edited by win32
Link to comment
Share on other sites

51 minutes ago, win32 said:

 

Of course, some parts of those mfplat functions are hideously complex though. But I don't they'll beat my XP x64-based LoadLibraryExW rewrite (mostly done, but some subroutines need to be fixed up). :puke:

Is that the same thing you were working on to remove most of Vista's errors or im off the mark?

Link to comment
Share on other sites

Just now, asdf2345 said:

Could this extended kernel possibly allow for newer drivers to be used without issue, like the GTX 1000 series drivers, or AMD 15.7 drivers?

Right now, it could help with the usermode parts of display drivers, but nothing for the kernel mode part yet.

Edited by win32
Link to comment
Share on other sites

4 minutes ago, asdf2345 said:

I'd love to see the 7 NVMe driver backported to Vista

It does seem quite possible, with the instructions given in the post referenced by @Ximonite. You can skip the hex modification part for win7's storport since Vista supports MSI interrupts.

Link to comment
Share on other sites

Using the W7 versions of mf.dll, mfplat.dll plus msmpeg2adec.dll and msmpeg2vdec.dll (plus my newest kernel32.dll), I have restored H.264/AAC support to newer Firefoxes. You will have to use a tool like CFF Explorer to change the Operating System and Subsystem Versions from 6.1/6.2 to 6.0 before applying these files to your system.

The issues facing later releases of Chromium, as far as I can tell, seem to be rooted in RtlFreeOemString's subroutines, which seem to differ between Vista and 7. With this in mind, I may start tampering with ntdll.dll in spite of its lack of redirect-ability and its digital signature (which other usermode dlls lack; but that changes in Windows 8). If I were to start extending ntdll, you would have no choice but to boot with my version and likely have to disable driver signing enforcement (which is how I run my 2012R2 in order to use my GPU drivers anyway). While I'm at it I could add NtOpenKeyEx (which later Chromiums ask for) as well as RtlQueryPerformanceCounter in order to simplify the process of preparing new Firefoxes. And all of those functions that some installers call when running with my kernel32.dll! And maybe ensure that winSAT works when display drivers use my user32.dll!

Edited by win32
Link to comment
Share on other sites

2 hours ago, win32 said:

Using the W7 versions of mf.dll, mfplat.dll plus msmpeg2adec.dll and msmpeg2vdec.dll (plus my newest kernel32.dll), I have restored H.264/AAC support to newer Firefoxes. You will have to use a tool like CFF Explorer to change the Operating System and Subsystem Versions from 6.1/6.2 to 6.0 before applying these files to your system.

Amazing discovery! So these Windows 7 resources will work unmodified provided their OS/subversion is adjusted with CFF Explorer beforehand?

Link to comment
Share on other sites

3 minutes ago, docR said:

Amazing discovery! So these Windows 7 resources will work unmodified provided their OS/subversion is adjusted with CFF Explorer beforehand?

It is a bit of a precautionary step (I had trouble loading them with my initial modded mfplat.dll and the OS/subsystem minor versions untouched), but yes they do!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...