Skip to content

๐Ÿ“ Research paper on KB4012218/KB4012219 and a patch to re-enable Windows updates on Kaby Lake/Ryzen PCs running Windows 7 and 8.1

License

Notifications You must be signed in to change notification settings

own3mall/kb4012218-19

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

wufuc

Donate Bitcoin AppVeyor Builds All Releases Chat on Discord

๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ซ๐Ÿ‡ท ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ญ๐Ÿ‡บ ๐Ÿ‡ง๐Ÿ‡ท ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡น๐Ÿ‡ผ

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:

Bad Microsoft!

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

The tl;dr version is basically, inside a system file named 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.

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.

Frequently Asked Questions

See FAQ.md.

How it works

This is a basic run-down of what wufuc does when you install it:

  • The installer registers a scheduled task that automatically starts wufuc on system boot/user log on.
  • Depending on how the Windows Update service is configured to run, wufuc will:
    • Shared process: inject itself into the service host process that Windows Update will run in when it starts.
    • Own process: wait for the Windows Update service to start and then inject into it.
  • Once injected, wufuc will hook some functions where appropriate:
    • LoadLibraryExW hook will automatically hook the IsDeviceServiceable() function inside wuaueng.dll when it is loaded.
    • RegQueryValueExW hook is necessary to provide compatibility with UpdatePack7R2. This hook not applied when wuauserv is configured to run in its own process.

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

About

๐Ÿ“ Research paper on KB4012218/KB4012219 and a patch to re-enable Windows updates on Kaby Lake/Ryzen PCs running Windows 7 and 8.1

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 98.8%
  • Other 1.2%