Jump to content

[WIP] Windows Vista Extended Kernel


win32

Recommended Posts

15 hours ago, C9_Slips said:

Can you make Windows 7 drivers run on Vista? It doesnt matter when, all it matters that if it is possible. I really want to use vista but my GPU doesnt let me.

Here:

On 7/26/2020 at 6:44 PM, Ximonite said:

To help with the kernel mode part, you can try using Mov AX, 0xDEAD's NTOSKRNL Emu_Extender and change the target OS to Vista when compiling.

 

Link to comment
Share on other sites


1 hour ago, asdf2345 said:

This only shows us how to get a specific few drivers working, not Nvidia, AMD, or other major drivers

I know it doesn't help a lot with driver support, but it's the only thing that currently exists that extends Vista's driver support.

Link to comment
Share on other sites

4 hours ago, Ximonite said:

I know it doesn't help a lot with driver support, but it's the only thing that currently exists that extends Vista's driver support.

It still has a long way to go, but I do hope that further updates push it more. Indeed, it doesn't have every function that many Vista display drivers use, and x64 import tables are a pain to deal with. And also digital signatures. :puke:

Another option is to mod the drivers themselves, where you look at what the incompatible functions do. and compare them with whatever the last compatible version did. BWC has done that, and both approaches may have to be done to get stuff working (pure XP x86 NVIDIA drivers with his extended core have serious problems with some DX9 programs, which are fixed by some of his modded versions).

Link to comment
Share on other sites

On 6/14/2020 at 7:15 PM, win32 said:

This tutorial is based on early versions of the kernel which act as nothing more than providing stubs for API functions. Actual functionality is being implemented though and once completed, it will be communicated in this thread. Please contact me directly for inquiries regarding the expanded functionality.

 

  Hide contents

 

For x86 kernel extension, see this post:

 

Attention Windows Vista x64 users!

Did you feel wounded by the way your OS was surpassed by NT 6.1? And felt salt being poured into those wounds when BlackWingCat implemented some of those NT 6.1+ functions in his extended kernel for NT 5.0?

Now I'm here to give Windows Vista the leg up it has always deserved! All you need is CFF Explorer and ExportTableTester. (rules prohibit the distribution of modified MS binaries)

 

 

ExportTableTester gets flagged by MSFT as a virus, how funny!

 

On 6/14/2020 at 7:15 PM, win32 said:

First, enter X:\Windows\System32 (where X: is the letter of your system partition) and copy kernel32.dll (for this experiment, I'm using version 6.0.6002.19623; this method is applicable to versions through 6.0.6003.20686. users with later versions check out my second post below) to another folder. Open that copy of kernel32.dll in CFF Explorer and click "Section Headers [x]" on the left sidebar.

 

I'm a bit dumb here, but is this copying kernel32 from Windows Vista or Windows 7?

 

On 6/14/2020 at 7:15 PM, win32 said:

Keep your attention on the .text section and scroll down to the bottom of the hex representation of the section, where you will find a portion filled with zeros. Then starting at offset 000BCF50, add all of the non-zero code shown in the image below:

1473306471_vistaI.thumb.png.ab072725eb204b8409be22795a947335.png

Save the file and exit CFF Explorer. Open ExportTableTester and drag-and-drop the file into its window. Click "Edit Exports" at the bottom of the window.

Enter each of the 000BCF** offsets referenced in the left window into the "Address of Function (Hex)" field on the right, followed by the function names associated with them below.

1395082202_vistaII.png.205eafb60927d8fe13f8919258624370.png

Reopen the file in CFF Explorer, click "Rebuilder" on the left sidebar, select the checkboxes for "Rebuild PE Header" and "Update Checksum" then click "Rebuild" before saving.

Place your modified kernel32.dll in the folder of each application that requires it. Create a file labelled "xxxx.exe.local" (where xxxx is the name of the application executable) in order to direct the executable to use the modified kernel32.dll as opposed to the one in the system32/sysWOW64 folder.

 

I'm assuming if this were done system wide, it would all break?

Does this work even for portable programs, as long as the exe is in a certain folder with this?

 

On 6/14/2020 at 7:15 PM, win32 said:

If you do the same steps as I did, you should be successful in this endeavour. As a sanity check, I opened Dependency Walker x64, checked the present kernel32.dll and it had those K32* functions previously exclusive to Windows 7 and up. What a feeling of accomplishment!

1434055082_VistaIII.thumb.png.372e350c0025383aac089069dbd8eef5.png

WARNING

Remember to keep the "Add New Section" checkbox enabled in ExportTableTester. If not selected, the expanded export table will overwrite some other code below it, which buggered up keyboard layout/localization settings (for example, all keyboard layouts under "English (Canada)" would function like the Canadian French keyboard).

Please test thoroughly and post in this thread about any issues that may arise. ExportTableTester, according to other users, may have issues of its own,

 

What other issues??

 

On 6/14/2020 at 7:15 PM, win32 said:

but no other known tools will manipulate PE32+ export tables the way it does.

I plan on eventually introducing additional functions in kernel32.dll as well as in other system files to meet my first goal: running Waterfox 2020.03! In fact, all of the functions that have been added to kernel32 are the missing ones required by its xul.dll (with the exception of TryAcquireSRWLockExclusive, which forwards to ntdll.dll).

 

I really love all these extended kernel projects! Perhaps we can get projects for XP and W7 (eventually) started as well, as more software becomes W7+ or W10 only :(

Link to comment
Share on other sites

23 minutes ago, Dylan Cruz said:

I really love all these extended kernel projects! Perhaps we can get projects for XP and W7 (eventually) started as well, as more software becomes W7+ or W10 only

W7 shouldn't be too difficult, as I think that most system files remain unsigned as in Vista. But I'm not aware of any real software incompatibilities with W10 yet. I'm only aware of the DX12 stuff, UWP stuff, and Office 2019's installer asking for SetCoalescableTimer (Windows 8 and up).

XP has One-Core-API.

Link to comment
Share on other sites

5 minutes ago, win32 said:

W7 shouldn't be too difficult, as I think that most system files remain unsigned as in Vista. But I'm not aware of any real software incompatibilities with W10 yet. I'm only aware of the DX12 stuff, UWP stuff, and Office 2019's installer asking for SetCoalescableTimer (Windows 8 and up).

 

Yeah, I guess I don't really care for any of that, to be honest.

Only thing from W10 that has been nice so far is the improved Snipping Tool with the "delay" function, which I have used many times now. Unfortunately, I tried your earlier advice but was not successful in porting it back.

The only thing W10 really has going for it so far, I guess!

5 minutes ago, win32 said:

XP has One-Core-API.

Isn't that the sketchy ReactOS thing? Or something 3rd party?

Really, I'd all be interested in doing is using Office 2010 on XP. That's what I did back in the day, both that and 2007. I could probably install it without problematic updates after they started breaking XP, but it would be nice to just have the latest copy come October 2020.

Link to comment
Share on other sites

On 7/29/2020 at 12:32 AM, win32 said:

You can use an hex editor like HxD. Search for a sequence of bytes that goes

6A 00 6A 01 6A 06

And change the 6A 01 to 6A 00.

 

What would I need to modify to make it attempt to launch on XP?

Link to comment
Share on other sites

1 minute ago, asdf2345 said:

What would I need to modify to make it attempt to launch on XP?

On XP, change the 6A 00 6A 01 6A 06 sequence to 6A 00 6A 01 6A 05.

Link to comment
Share on other sites

4 minutes ago, asdf2345 said:

That either didn't work, or XP doesn't have a certain function. Will try a older client

Doesn't work, even with June 2019 client. Guess modifying the client only works for Vista.

What's needed now is an attempt at completely faking 7, to the point where Steam uses the 7 browser instead of the XP browser on newer clients on Vista.

The Oct 2nd 2019 Client on Vista is the newest that works with the XP browser. The newest client runs fine though, but with no browser.

Link to comment
Share on other sites

On 8/8/2020 at 9:51 PM, asdf2345 said:

Doesn't work, even with June 2019 client. Guess modifying the client only works for Vista.

What's needed now is an attempt at completely faking 7, to the point where Steam uses the 7 browser instead of the XP browser on newer clients on Vista.

The Oct 2nd 2019 Client on Vista is the newest that works with the XP browser. The newest client runs fine though, but with no browser.

Got the Chromium 72 built into the Oct 2nd 2019 Steam to work, but with one major issue

I put the Windows 7 x64 CEF into the XP CEF folder, so Steam loaded it, then I used -no-cef-sandbox

Will try this with Chromium 76 Steam

Link to comment
Share on other sites

13 minutes ago, asdf2345 said:

Got the Chromium 72 built into the Oct 2nd 2019 Steam to work, but with one major issue

I put the Windows 7 x64 CEF into the XP CEF folder, so Steam loaded it, then I used -no-cef-sandbox

Will try this with Chromium 76 Steam

Can't get Oct 30th Steam working, so I don't know if Chromium 76 will work

Link to comment
Share on other sites

51 minutes ago, asdf2345 said:

Can't get Oct 30th Steam working, so I don't know if Chromium 76 will work

can you click on view games and actually see them? and do you get the new chat interface? on chrome 72 

Edited by burd
Link to comment
Share on other sites

Just now, burd said:

can you click on view games and actually see them? and do you get the new chat interface? on chrome 72 

I've gotten newer clients working without a browser, so only small mode works. Also, I only get the superior old chat UI.

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...