時間:2017-04-19 來源:互聯網 瀏覽量:
一位名叫 zeffy 的 Github 開發人員發現,還是有辦法去突破微軟的封鎖的。
zeffy 先是下載了出現問題的 .msu 安裝包(其係統對應的是 windows6.1-kb4012218-x64_590943c04550a47c1ed02d3a040d325456f03663.msu),然後將它解壓出來、整理二進製文件、並與係統上已安裝的進行對比。
在經過大量的調查工作之後,他終於找到了罪魁禍首,它們是 —— IsDeviceServiceable(void) 和 IsCPUSupported(void) 。有鑒於此,zeffy 給出了如下解決方案:
① 給動態鏈接庫(dll)打補丁,將 0x26C948 的 dword_600002EE948 值(見此行)從 0x01 改為 0x00,以便 IsDeviceServiceable(void) 跳過整個實體,並立即回複 1(表明 CPU 可支持)。
—— 這是首要推薦的方法,但請注意隻能在 Windows 7 x64 版本中使用。
② 給動態鏈接庫(dll)打補丁,清理 IsDeviceServiceable(void) 中所有高亮的指令(見此行),以啟用注冊表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Test\Scan 下的 ForceUnsupportedCPU(類型為 REG_DWORD)。
—— 如果沒有,就自建一個,將設定值從 0x00000001(強製不支持 CPU)改為 0x00000000,以變更默認行為。之後可能需要重啟計算機,以應用此更改。
—— 需要注意但是,此行為暫無明文可證,未來版本中可能會被移除。
最後,修改有風險,操作需謹慎。為防意外,請不要輕易在生產環境中嚐試;且在修改 dll 文件前,請務必做好充分的備份工作。
[編譯自:BetaNews]