Jump to content

Future of Chrome on Windows 7


yoltboy01

Recommended Posts


Just now, NotHereToPlayGames said:

Nobody should name names!  Let them step on their own tongues.  The rest of us can decide for ourselves.  :whistle:

Some people just get "bored" and find ways to "entertain themselves".  The rest of us just need to learn to not let that "entertainment" be at 'our expense'.

sorry about that everyone lets get this back on topic again

Link to comment
Share on other sites

I found that there are ultimately four reasons why Chromium is broken on NT 6.x:

1. New imports in kernel32 and userenv. They can all be stubbed, not hard to fix. (Vista/7; 8.x has them)

2. Use of job object APIs in ways that are only supported on 8.x (without sandbox) and 10 (with sandbox)

3. Use of new NtQueryInformationProcess class for enumerating process handles; if it can't be used, the content process will be terminated (8.0 and below, sandbox only)

4. Use of new DirectWrite factories, like IDWriteFactory3, which was introduced in Windows 10

#1 is taken care of, I'm getting there with #2 and then I should be able to do #3. #4's solution is actually quite simple; copy over a Windows 10 DWrite.dll to use with Chromium using DLL redirection methods (I used 10.0.17763.1 and I think 10240 and up should work too). Then patch these DLL names in the import table with a hex editor or CFF explorer:

api-ms-win-core-libraryloader-l1-2-0.dll -> kernel32.dll
api-ms-win-core-localization-l1-2-2.dll -> kernel32.dll

This is sufficient to run the latest Chromium browser snapshot on Windows 8:

chromium.png

Right now there are truly missing functions on Windows Vista and 7, in api-ms-win-core-delayload-l1-1-0.dll and api-ms-win-core-delayload-l1-1-1.dll. Some of those return function pointers so they can't be stubbed.

Link to comment
Share on other sites

3 hours ago, win32 said:

I found that there are ultimately four reasons why Chromium is broken on NT 6.x:

1. New imports in kernel32 and userenv. They can all be stubbed, not hard to fix. (Vista/7; 8.x has them)

2. Use of job object APIs in ways that are only supported on 8.x (without sandbox) and 10 (with sandbox)

3. Use of new NtQueryInformationProcess class for enumerating process handles; if it can't be used, the content process will be terminated (8.0 and below, sandbox only)

4. Use of new DirectWrite factories, like IDWriteFactory3, which was introduced in Windows 10

#1 is taken care of, I'm getting there with #2 and then I should be able to do #3. #4's solution is actually quite simple; copy over a Windows 10 DWrite.dll to use with Chromium using DLL redirection methods (I used 10.0.17763.1 and I think 10240 and up should work too). Then patch these DLL names in the import table with a hex editor or CFF explorer:

api-ms-win-core-libraryloader-l1-2-0.dll -> kernel32.dll
api-ms-win-core-localization-l1-2-2.dll -> kernel32.dll

This is sufficient to run the latest Chromium browser snapshot on Windows 8:

chromium.png

Right now there are truly missing functions on Windows Vista and 7, in api-ms-win-core-delayload-l1-1-0.dll and api-ms-win-core-delayload-l1-1-1.dll. Some of those return function pointers so they can't be stubbed.

Dude I can't say it often enough: Your the best! 

Link to comment
Share on other sites

On 1/17/2023 at 8:40 PM, win32 said:

This is sufficient to run the latest Chromium browser snapshot on Windows 8

Is this sufficient to run the latest Chromium browser on Windows 7 ? Thnx.

Link to comment
Share on other sites

On 1/17/2023 at 9:40 PM, win32 said:

I found that there are ultimately four reasons why Chromium is broken on NT 6.x:

1. New imports in kernel32 and userenv. They can all be stubbed, not hard to fix. (Vista/7; 8.x has them)

2. Use of job object APIs in ways that are only supported on 8.x (without sandbox) and 10 (with sandbox)

3. Use of new NtQueryInformationProcess class for enumerating process handles; if it can't be used, the content process will be terminated (8.0 and below, sandbox only)

4. Use of new DirectWrite factories, like IDWriteFactory3, which was introduced in Windows 10

#1 is taken care of, I'm getting there with #2 and then I should be able to do #3. #4's solution is actually quite simple; copy over a Windows 10 DWrite.dll to use with Chromium using DLL redirection methods (I used 10.0.17763.1 and I think 10240 and up should work too). Then patch these DLL names in the import table with a hex editor or CFF explorer:

api-ms-win-core-libraryloader-l1-2-0.dll -> kernel32.dll
api-ms-win-core-localization-l1-2-2.dll -> kernel32.dll

This is sufficient to run the latest Chromium browser snapshot on Windows 8:

chromium.png

Right now there are truly missing functions on Windows Vista and 7, in api-ms-win-core-delayload-l1-1-0.dll and api-ms-win-core-delayload-l1-1-1.dll. Some of those return function pointers so they can't be stubbed.

Man please explained it a bit more in details - how to patch these dlls files to get working chrome(ium) 110+ on win8.1?

Link to comment
Share on other sites

4 hours ago, x0xcdrx0x said:

Man please explained it a bit more in details - how to patch these dlls files to get working chrome(ium) 110+ on win8.1?

This method is also based on my discovery (from my ported Opera 96 on Chrome 110), and I'm against sharing it in public, I already told @win32 about it.

Why ? Simply because you all could easily end up with nothing when the evil developers read this topic.  Just wait for new kernel to be ready, you will all get it then !

Be patient .

Besides, you ask about win 8.1, which is not being discussed here.

Link to comment
Share on other sites

On 1/20/2023 at 1:02 AM, D.Draker said:

This method is also based on my discovery (from my ported Opera 96 on Chrome 110), and I'm against sharing it in public, I already told @win32 about it.

Why ? Simply because you all could easily end up with nothing when the evil developers read this topic.  Just wait for new kernel to be ready, you will all get it then !

Be patient .

Besides, you ask about win 8.1, which is not being discussed here.

we all wait to see what happens on the ESU February updates POS ready 7 

 

@D.Draker THANK YOU for saying this!! This is the option to keep the patching safe! Wish more people understood this and stop posting the guides. We had the same issue back on 2020 with the old youtube layout code post public and some hidden developers keep seeing that and changing the code so that css stopped working very soon.

@win32 thank you for your contribution and we looking forward for the patching files :) 

Link to comment
Share on other sites

On 1/17/2023 at 1:40 PM, win32 said:

I found that there are ultimately four reasons why Chromium is broken on NT 6.x:

1. New imports in kernel32 and userenv. They can all be stubbed, not hard to fix. (Vista/7; 8.x has them)

2. Use of job object APIs in ways that are only supported on 8.x (without sandbox) and 10 (with sandbox)

3. Use of new NtQueryInformationProcess class for enumerating process handles; if it can't be used, the content process will be terminated (8.0 and below, sandbox only)

4. Use of new DirectWrite factories, like IDWriteFactory3, which was introduced in Windows 10

#1 is taken care of, I'm getting there with #2 and then I should be able to do #3. #4's solution is actually quite simple; copy over a Windows 10 DWrite.dll to use with Chromium using DLL redirection methods (I used 10.0.17763.1 and I think 10240 and up should work too). Then patch these DLL names in the import table with a hex editor or CFF explorer:

api-ms-win-core-libraryloader-l1-2-0.dll -> kernel32.dll
api-ms-win-core-localization-l1-2-2.dll -> kernel32.dll

This is sufficient to run the latest Chromium browser snapshot on Windows 8:

chromium.png

Right now there are truly missing functions on Windows Vista and 7, in api-ms-win-core-delayload-l1-1-0.dll and api-ms-win-core-delayload-l1-1-1.dll. Some of those return function pointers so they can't be stubbed.

thanks @Win32! your contributions to the community are always helpfull and I appreciate what you have done here keep up the good work! 

Edited by legacyfan
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...