2012-05-31 72 views
3

我是個人,而不是公司,我正在研究虛擬內核模式設備驅動程序。我知道我可以測試簽名驅動程序並在測試模式下運行。不過,我想免費分發我的驅動程序,但是我沒有資源通過verisign或globalsign簽名簽名,因爲它非常昂貴,而且我也沒有通過此驅動程序賺取任何收入。解決方法跳過64位窗口中的驅動程序簽名

另外測試簽名驅動程序對於某些用戶來說將是一項艱鉅的任務。所以我想知道是否有任何解決方法使用64位的無簽名驅動程序?就像在32位兼容性中運行一樣,或者可以代表用戶自行簽署驅動程序的腳本。


所以,現在的問題本質上是,如果我分配在此過程中提到的所有EXE和使腳本來運行所有這些 命令。那麼驅動程序是否可以由用戶使用 腳本進行簽名?

PROCEDURE:

1.execute Inf2Cat.exe /驅動器: 「U:\ MyDriver」/ OS:7_X64

2.Find makecert.exe在WDK Makecert -r -pe -ss PrivateCertStore -n 「CN = TestCertforWDK」 TestCert.cer

3.使用Signtool.exe在WDK簽署貓文件Signtool簽名/ v/S PrivateCertStore/N TestCertForWDK /噸 http://timestamp.verisign.com/scripts/timestamp.dll 「U:\ MyDriver \ MyDriver。貓「

4.使用Signtool.exe在WDK登錄駕駛員Signtool簽名/ V/S PrivateCertStore/N TestCertForWDK /噸 http://timestamp.verisign.com/scripts/timestamp.dll 「U:\ MyDriver \ MyDriver.sys」

5.On測試計算機上導入證書:certmgr.exe /加TestCert.cer/S/R LOCALMACHINE根

6.增加它信任的發佈者列表certmgr.exe /加TestCert.cer/S/R LOCALMACHINE trustedpublisher

7.Verify的簽名驅動程序Signtool verify/pa/v MyDriver.sys

8.V驗證貓文件的標誌Signtool驗證/ pa/v/c MyDriver.cat MyDriver.inf

+0

我想你會走運。簽名是必需的。要麼你必須購買一個,要麼用戶會如果你打算自己簽名。 –

+0

嗯Ohk。是否可以編寫一些腳本來爲用戶進行自簽名? 。 – rajat

+0

我很確定64位驅動程序必須與微軟的證書交叉簽名,而證書只支持相對較少的根CA;你不能在這裏使用自簽名。 – Luke

回答

3

所以這個問題的答案是一個大胖子。我很抱歉,但除非你找到一個用戶驅動的解決方法,或一些願意贊助(簽署你的驅動程序)的公司,這是不可能的(我的意思是不可能:))。此功能已在Windows中實施,以防止他們安裝令人討厭的rootkit。

雖然它可能看起來很刺耳,但它阻止了很多rootkit能夠安裝在用戶機器上。事實上,微軟最近修補了一個與驅動程序簽名有關的漏洞,允許黑客在Windows內使用微軟的簽名引擎來簽署系統可以接受的驅動程序。

我非常懷疑,你找到一種方法來解決這個以編程方式。如果你這樣做,讓我知道。

+1

如果他讓你知道我確信MS會及時修補它,因爲它會是某種破解/利用:) – paulm

0

獲取驅動程序簽名是讓您的驅動程序在用戶計算機上運行而不用麻煩的唯一正確方法。您不能指望用戶將機器置於測試簽名模式。我認爲你可以參考測試簽名成本來了解它的成本,並且我建議你在長期考慮你的驅動程序時嘗試投資。不知道費率是否有任何變化。

https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/9a839ac3-4438-43bb-b1b8-4ed8da58ab45/how-much-does-it-cost-to-get-hck-certificates?forum=whck