2009/10/05

如何判斷驅動程式檔案是來自 Microsoft 還是自己灌的驅動程式

以 Realtek High Definition Audio R2.34 的 Windows 7 / Vista 驅動程式 x86 版本為例。偶們知道驅動程式的關鍵是 .sys 檔案,只要有驅動程式的 sys 檔案就能夠保證硬體可以工作,即使沒有驅動程式中所包含的非 sys 類型的檔案。所以我僅以 sys 檔案為例,來判斷驅動程式檔案是來自 Microsoft 還是自己灌的驅動程式。

首先我已經使用 setup.exe 灌好驅動程式,在驅動程式詳細資料中列出驅動程式檔案,在這裡 sys 檔案共有三個:drmk.sys、portcls.sys、RTKVHDA.sys。前兩個 sys 的檔案版本都有註明為 6.1.7600.16385 (win7_rtm.090713-1255),說明前兩個 sys 檔案都是由 Microsoft 提供。
Realtek_High_Definition_Audio-sys-1

第三個 sys 檔案 RTKVHDA.sys(左圖),其檔案版本並非 Windows 7 的版本號。對於檔案版本並非 Windows 7 版本號的驅動程式檔案,其來源有兩種:由自己手動安裝的驅動程式提供;由 Microsoft 提供。如何判斷?這時就要看 Digital Signer 所標示的字串:若為 Microsoft Windows(右圖),則表明驅動程式檔案由 Microsoft 提供;若為 Microsoft Windows Hardware Compatibility(左圖),則表明驅動程式檔案由自己手動安裝的驅動程式提供。
Realtek_High_Definition_Audio-sys-2Realtek_RTL8111B-sys

那麼偶們現在已經成功作出判斷:RTKVHDA.sys 由自己手動安裝的驅動程式提供;drmk.sys、portcls.sys 為 Windows 7 內建的驅動程式,由 Microsoft 提供。

沒有留言 :

張貼留言