Windows 7 API Extensions (VxKex)

VxKex is a project that allows Windows 7 to run newer software designed for Windows 8, 8.1, 10, and 11.

Download (20250915):

KexSetup_Release.exe (5.19M)
KexSetup_Debug.exe (7.22M)

VxKex can also be downloaded from the THRASHNET FTP server. It is located in the directory
/projects/vxkex

Changelog:

20250915:
- Added DLL: api-ms-win-downlevel-advapi32, api-ms-win-downlevel-shell32, api-ms-win-eventlog-legacy, ext-ms-win-ntuser-windowclass, d3d12 (only stubs)
- Added Windows 10 DWrite
- Spoofed CurrentVersion in registry
- Stubbed functions: dxgi.DXGIGetDebugInterface1, combase.RoCaptureErrorContext
- Fixed Chromium issues on 32-bit

20250905:
- Added functions: kernel32->GetPackagePathByFullName, wldp->WldpGetLockdownPolicy
- Stubbed function: uiaautomationcore->UiaDisconnectProvider, RPCRT4->RpcServerRegisterIf3
- Added DLLs: api-ms-win-core-comm-*, RPCRT4
- Fixed bug in KexRtlGenerateRandomData
- VxKex is now allowed on programs in %windir%

20250704:
- Fixed bug in WinVerifyTrust
- Fixed typos in KxTrust resource
- Stubbed functions: kernel32->PackageIdFromFullName, kernel32->GetPackagePath, gamingtcui->ProcessPendingGameUI, gamingtcui->ShowChangeFriendRelationshipUI, gamingtcui->ShowGameInviteUI, gamingtcui->ShowPlayerPickerUI, gamingtcui->ShowProfileCardUI, gamingtcui->ShowTitleAchievementsUI, gamingtcui->TryCancelPendingGameUI, ws2_32->GetAddrInfoExOverlappedResult, netapi32->NetFreeAadJoinInformation, netapi32->NetGetAadJoinInformation, combase->RoSetErrorReportingFlags
- Added functions: advapi32->GetDynamicTimeZoneInformationEffectiveYears, advapi32->EnumDynamicTimeZoneInformation
- Added DLLs: gamingtcui, api-ms-win-gaming-tcui (forwarded to gamingtcui), ext-ms-win-ntuser-draw (forward to kxuser)
- Added spoof for RegOpenKey* and RegEnumKey* to hide VxKex registry entries from applications
- Improved import rewriting code. More applications should work now that didn't start before.
- Prevent InitializeCriticalSectionEx from returning ERROR_INVALID_PARAMETER
- Fixed bug in version spoofing (build number not spoofed correctly)
- Fixed some DLLs failing with STATUS_ACCESS_VIOLATION
- Added workaround for some buggy (Mozilla) applications which don't call CoInitialize(Ex) before calling CoCreateInstance
- Fixed typing of SpareBytes in NTDLL

20250531:
- Improved kernel32->VirtualAlloc2 Implementation
- Added functions: kernel32->VirtualAlloc2FromApp
- Stubbed functions: mfplat->MFCreateDXGIDeviceManager, mfplat->MFCreateDXGISurfaceBuffer, kernel32->GetCurrentPackageFamilyName
- Improved Chromium app-specific hack for kernel32->VirtualAlloc2
- Rewrote DLL path shrinking code to improve & fix bugs
- Fixed rare memory protection bug that occurs in DLL import rewriting code with programs that use a nonstandard binary structure
- Added DLLs: XAudio2_8, XAudio2_9
- Fixed edge-case failure bug with makesfx build script
- Implemented spoof for WinVerifyTrust->WINTRUST_ACTION_GENERIC_VERIFY_V2, this is the first patch to help fix DRM-protected software and video game anti-cheat solutions. Please let me know if it causes any problems with software or games that worked in the old version of VxKex.
- Added support for ROBLOX Studio (app-specific hack)

20250512:
- Stubbed functions: IsWindowArranged
- Improved KexPathCch

20250324:
- Added DLL redirects: ext-ms-win-shell-comctl32-window, ext-ms-win-ntuser-window, ext-ms-win-com-ole32, api-ms-win-core-ums, ext-ms-win-ntuser-message
- Fixed redirects: ext-ms-win-uiacore
- Fixed Chromium & Electron applications crash (app-specific hack)
- Added missing DLL exports: kernel32.GetEnvironmentVariable, kernel32.RegOpenKeyEx (Already exist, not exported until W10)
- Stubbed functions: winhttp.WinHttpWebSocketCompleteUpgrade, winhttp.WinHttpWebSocketReceive, winhttp.WinHttpWebSocketSend, winhttp.WinHttpWebSocketClose, winhttp.WinHttpWebSocketShutdown, dnsapi.DnsServiceBrowse, dnsapi.DnsServiceBrowseCancel
- Fixed bug with KxUser not properly exporting all functions
- Added redirected functions: WS2_32.GetAddrInfoExCancel

20250217:
- Fixed Firefox, Librewolf, Thunderbird, Betterbird, Seamonkey crash
- Fixed Chromium-based software/browser crash
- Added kernel32 functions: SetThreadpoolTimerEx, GetSystemCpuSetInformation
- Added CoreMessaging functions: CreateDispatcherQueueController
- Added MFPlat functions: MFMapDXGIFormatToDX9Format, MFMapDX9FormatToDXGIFormat
- Added DirectX GUIDs: IID_ID3D11Texture2D

20250104:
- Added d3d11.dll function: D3D11On12CreateDevice
- Added ntdll functions: RtlDeleteGrowableFunctionTable, RtlGrowFunctionTable
- Improved implementation: VirtualAlloc2
- Fixed bug in VxKex DLL loader that can cause the PATH variable to sometimes not be written

20250102:
- kernel32.dll - VirtualAlloc2

20250101:
- UIAutomationCore.dll - UiaRaiseNotificationEvent