Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won

  • Donations

    0.00 USD 
  • Country


win32 last won the day on October 23 2022

win32 had the most liked content!

About win32

  • Birthday 05/24/2001

Profile Information

  • OS
    Vista Ultimate x64

Recent Profile Visitors

25,823 profile views

win32's Achievements



  1. IE is no longer useful for web browsing. Old intranet stuff would likely not even benefit from IE10/11. But IE10/11 do have some limited uses in non-browsing situations; the license authentication for Autodesk products may still use it (but you can spoof IE10 in Group Policy and run it anyway), and the installer for Adobe CC products has used IE since 2015 or 17. Even the authentication component of Chromium Edge requires IE11. But I suspect these applications will have moved on from IE once I have implemented all the "black box" functions and "black box" function flags to existing functions that would make these newer browsers or at least rendering engines work. Also, I think it's hypocritical of Adobe to still depend on IE when they made such a big fuss over discontinuing their Flash players and timebombing the final versions.
  2. Most of my precious time has been devoted to the Chromium issue, which is continuously unfolding as they gradually remove legacy codepaths. The job object server is nearly functional (right now it isn't, but Chromium seems to be OK with it, in --no-sandbox at least). Then I need to add some things to NtQueryInformationProcess and that should get Chromium 111 100% functional. Some more functions will need to be added for Chromium 112.
  3. Version (as written in the properties of the exe) from 2012. It is listed as an option under "rebuilder".
  4. That would be the PE checksum. Tools like CFF explorer can set it automatically, but in this driver it is located at offset 170 and is this: 7B 1D 09 01 01 00 E0 01 00 00 04 00 00 00 00 00 This would be changed to: E1 69 09 01 01 00 E0 01 00 00 04 00 00 00 00 00
  5. Find this line: 84 C0 74 0A B8 BB 00 00 C0 E9 B9 18 00 00 44 38 and change it to EB 0C 74 0A B8 BB 00 00 C0 E9 B9 18 00 00 44 38
  6. https://github.com/win32ss/win32-api-reversals But this is not complete. There are many functions I implemented by copying over blocks of hex codes from newer DLLs, because I did not know C well at the time. There are some other functions that are too messy for me to put up ATM. Here is the installer source code (needs to be updated to support copying to places other than System32/SysWOW64, installing drivers, and adding a GUI): https://github.com/win32ss/nt6-unofficial-update-installer-engine And this tool builds a list of export pragma directives for a wrapper. It supports PE32, PE32+, and both named and ordinal-only exports: https://github.com/win32ss/export_pragma_builder
  7. 2. Try GetProcessIoCounters. 3. It is hard to find a suitable one for K32GetModuleInformation, maybe try FindFirstStreamW. As for K32GetProcessMemoryInfo, I meant to say GetEnvironmentVariableA. It should fit in there.
  8. I think CloseHandle may also work. Maybe QueryProcessAffinityUpdateMode. Possibly QueryFullProcessImageNameW and GetEnvironmentVariable respectively. If those are the only two functions imported from kernel32, you can change the import DLL name to psapi.dll and the function imports to GetModuleInformation and GetProcessMemoryInfo.
  9. Yes, I did. No difference in performance. I believe it is because of a call to NtAlpcSendWaitReceivePort that should only be made once, to obtain some cache information; however it never receives it, which means this call is made constantly until it can be received, or it probably gives up after an untold number of calls and gets on with the loading process. So there is an ALPC port in Vista that seems to be unable to answer a certain type of message required by DirectWrite.
  10. I now got it running on Vista in --no-sandbox mode after making some adjustments to locale API to allow Windows 10's dwrite.dll to load. However, the performance is very poor. It now takes up to a minute to launch the browser instead of it taking a few seconds. It should be easier to get dwrite.dll on 7 (no kernel32 functions need to be modified/upgraded on 7), but 7 still won't be able to run these new versions of Chromium because no changes have been made to the job object API there. There is also the possibility that performance will be very poor as well. VxKex will provide that and more, eventually.
  11. It is possible it checks the file versions of nvlddmkm.sys or nvd3dumx.dll. In my case the version is written as So it would have to be changed to using a resource editor or by searching for the version values in a hex editor (these are UTF-16 characters).
  12. I recommend you to have Windows 10 functionality on Windows Vista as Chrome ended support for Windows 7, so to disable the annoying message, you need to spoof Windows 10 first.

    1. D.Draker


      What that even means "Windows 10 functionality on Windows Vista" ?

    2. WinCare


      To run apps compatible with Windows 10 or above on Windows Vista

    3. D.Draker


      Maybe you meant you will help win32 to get "Windows 10 functionality on Windows Vista" ?

  13. Does your nvcpl look like this? Still using 398.11 on the GTX 650. I never had nvwss.dll, and yes, only that mobile option is available for some reason.
  14. 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: 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.

  • Create New...