/wufuc

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.

Primary LanguageCGNU General Public License v3.0GPL-3.0

wufuc

Donate Bitcoin AppVeyor Builds All Releases

🇩🇪 🇪🇸 🇫🇷 🇮🇹 🇭🇺 🇧🇷 🇷🇺 🇨🇳 🇹🇼

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

Latest stable build - Most people will want this version.

Unstable builds - Probably contains bugs; do not report issues with these builds.

Donate ❤️

Click here for donation options!

Background

The release notes 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 is essentially a big middle finger to anyone who decides to not "upgrade" to Windows 10, and it is especially unfortunate 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:

Features

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

How wufuc works

The tl;dr version is basically:

  • Inside a system file called wuaueng.dll, there are two functions responsible for the CPU check: IsDeviceServiceable and IsCPUSupported.
  • IsDeviceServiceable simply calls IsCPUSupported once, and then saves the result and re-uses it on subsequent calls.
  • I take advantage of this behavior in wufuc by patching the saved result so that it is always TRUE, or supported.

If you would like more information, you can read my original write-up on discovering the CPU check here.

Building

To build wufuc from source, you need to download and install the following:

  1. Visual Studio 2017.
  2. Windows Driver Kit (WDK).
  3. (Optional, for MSI packages) Advanced Installer.

Sponsors

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