wufuc

English | русский | Français | Deutsch | Magyar | Portuguese (Brazil)

Disables the "Unsupported Hardware" message in Windows Update, and allows you to continue installing updates on Windows 7 and 8.1 systems with Intel Kaby Lake, AMD Ryzen, or other unsupported processors.

Downloads

Preface

The changelog for Windows updates KB4012218 and KB4012219 included the following:

Enabled detection of processor generation and hardware support when PC tries to scan or download updates through Windows Update.

These updates marked the implementation of a policy change they announced some time ago, where Microsoft stated that they would not be supporting Windows 7 or 8.1 on next-gen Intel, AMD and Qualcomm processors. This was essentially a big middle finger to anyone who decides to not "upgrade" to the steaming pile of 💩 known as Windows 10, especially considering the extended support periods for Windows 7 and 8.1 won't be ending until January 4, 2020 and January 10, 2023 respectively.

Some people with older Intel and AMD processors are also affected!

I've received user reports of the following CPUs all being blocked from receiving updates:

Bad Microsoft!

If you are interested, you can read my original write up on discovering the CPU check here.

Features

  • Enables Windows Update on PCs with unsupported processors.
  • Written in C, the best programming language. 😎
  • Comepletely free software (as in freedom) (GPL v3.0)
  • Does not modify any system files.
  • Byte pattern-based patching, which means it will usually keep working even after new updates come out.
  • Absolutely zero dependencies.

How it works

Basically, inside a system file called wuaueng.dll there are two functions responsible for the CPU check: IsDeviceServiceable(void) and IsCPUSupported(void). IsDeviceServiceable simply calls IsCPUSupported once, and then re-uses the result that it receives on subsequent calls. My patch takes advantage of this behavior by patching a couple of boolean values and basically making Windows Update think that it has already checked your processor, and the result was that it is indeed supported.

  • The installer registers wufuc as a custom Application Verifier provider.
  • When a svchost.exe process starts, the Windows PE loader automatically loads wufuc into its virtual address space.
  • After that, wufuc will then check the command line of the process it was loaded into, then install some API hooks when appropriate:
    • LoadLibraryExW hook will automatically patch wuaueng.dll as soon as it is loaded.
    • RegQueryValueExW hook is necessary to provide compatibility with attempts by other third-parties at bypassing the CPU check. (see issue #100)
  • If wufuc gets loaded by a svchost.exe process that isn't related to Windows Update, it goes into a dormant state and no hooks are applied.

Sponsors

Advanced Installer

The installer packages are created with Advanced Installer using an open source license. Advanced Installer's intuitive and friendly user interface allowed me to quickly create a feature complete installer with minimal effort. Check it out!

Special thanks

Description
Get updates on Windows 7 and 8.1 with unsupported hardware.
Readme 1 MiB
Languages
C 99%
Batchfile 1%