Энтузиаст создал патч, позволяющий владельцам новых процессоров обновлять Windows 7 и 8.1
@it_guideНа прошлой неделе стало известно, что компания Microsoft наконец реализовала замысел, о котором предупреждала пользователей давно. Владельцы новых поколений процессоров (в частности, Kaby Lake компании Intel и Bristol Ridge компании AMD), которые пользуются Windows 7 и 8.1, фактически перестали получать обновления, не считая редких обновлений безопасности.
Многие пользователи были в ярости, когда обнаружили, что патчи из состава апрельского «вторника обновлений» попросту не устанавливаются, сообщая о несовместимости с железом. В наиболее странном положении оказались некоторые пользователи Windows 8.1, так как их система до 2018 года находится в фазе «основной поддержки» (mainstream support) и имеет поддержку USB 3 и NVMe. Однако в итоге получилось, что новые ограничения распространяются и на них.
Пользователь GitHub, известный как Zeffy, решил исправить проблему своими силами. Исследователь выяснил, что за ограничения отвечает обновление KB4012218, вышедшее в марте 2017 года. Еще тогда Zeffy отреверсил обновление и начал разрабатывать средство обхода нового запрета, а после релиза апрельского набора патчей он получил возможность опробовать свое решение в деле. Как оказалось, метод работает: патчит DLL-файлы Windows и опускает проверку версии CPU, что позволяет успешно установить обновления на Windows 7 и 8.1, даже если они работают в системе, построенной на базе процессора седьмого поколения.
Свои скрипты и руководство по их использованию исследователь опубликовал на GitHub.Проект полностью открытый, так что любой желающий может убедиться в том, что Zeffy не попытался спрятать в коде малварь и не задумал ничего дурного.
На GitHub исследователь пишет, что после реверса KB4012218 ему удалось обнаружить две новых функции в wuaueng.dll: IsCPUSupported(void) и IsDeviceServiceable(void). Фактически скрипты Zeffy «исправляют» данный файл, присваивая обеим функциям значение «1», то есть supported CPU («поддерживаемый процессор»). Единственным минусом данного метода разработчик называет необходимость патчить wuaueng.dll, каждый раз, как он обновляется. Впрочем, эту процедуру вряд ли можно назвать сложной и долгой.