testing on Windows Server Insider Preview 26491.1001 (ge_prereleaseserver) amd64 - Works Windows 11 Pro Preview 27891 - Works Windows Server Insider Preview 26040 - Works doesnt work on Windows 8 9888 64bit - edit with ef.dll hook up works
Great, we have a lot of people bothered with the watermarks. Personally, I can't be @rsed. Who knows, maybe you'll even defeat the timebomb in a non-hack-ish way, one day?
Yes, Windows 8, just like Windows 10, was also released in an x86 (32-bit) version. If you are testing on an x86 build of Windows 8, that would explain why the current AMD64 binary does not work. I can compile such a version, but I don't have an x86 virtual machine at the moment. If it is x64, we would need to see what is shown in the key: Code: HKEY_CLASSES_ROOT\CLSID{ab0b37ec-56f6-4a0e-a8fd-7a8bf7c2da96}\InProcServer32 String: (Default) ---> %SystemRoot%\system32\ExplorerFrame.dll Could you check that and let me know?
Please check with the attached compilation. If it works, I will change the code on GitHub. If you have Sysinternals strings64, you can check: Code: C:\Program Files\SysInternals>strings64.exe -n 10 C:\Windows\System32\shell32.dll > shell32_strings.txt C:\Program Files\SysInternals>findstr /i "Windows Technical Preview" shell32_strings.txt > result.txt and send it via @private message. I've compiled the program with modified conditional pattern initialization. Now I always initialize g_brandingPatterns regardless of IAT patching success. I would need to verify what exact resource ID "Windows Technical Preview" has in shell32.dll from build 9888. In the code, pattern allocation is conditional - it only happens when bImportChanged == true. If IAT patching fails, the patterns are never allocated!