64位驅動開發及驅動簽名


1.WINDOWS 64位 和 32位 程序中數據類型的字節大小基本不變, 除了指針變成8字節, 其他類型的字節大小和32位一樣。 
2.對於64位驅動和32位應用程序之間通訊的數據結構, 需要將指針(包括句柄)的定義改為對應的固定長度的指針。 比如PCHAR c需要改為 CHAR* POINTER_32 c 
3.64位驅動程序需要由64位的安裝程序來安裝。在64位系統下,32位安裝程序對注冊表和文件的訪問可能會被重定向到Wow6432Node, SysWOW64之類的路徑。
4. 修改INF文件以滿足安裝64位驅動的要求。http://www.microsoft.com/whdc/archive/64inf_reqs.mspx 
5.在64位下編譯驅動要用X64編譯選項(也就是AMD64) 

 

 

測試驅動簽名方法:

使用簽名工具dseo13b.exe(Driver Signature Enforcement Overrider),啟動該工具,點擊”Sign a system file”, 然后填入驅動的詳細路徑,點擊確認, 稍等一會就可以。 

Supported OSes
* Windows Vista 32-bit
* Windows Vista 64-bit
* Windows Server 2008 32-bit
* Windows Server 2008 64-bit
* Windows 7 32-bit
* Windows 7 64-bit

 

 

還可以購買證書來簽名

腳本:

 

@echo off
rem ################################
rem 生成CAT文件(如果是32位驅動則把X64換成X86)
rem 
rem inf2cat /driver:files/ /os:XP_X86,Server2003_X86,Vista_X86,Server2008_X86
inf2cat /driver:files/DrvSetup-x64/winVista /os:XP_X64,Server2003_X64,Vista_X64,Server2008_X64
rem ################################
rem 對sys文件進行簽名
rem
signtool.exe sign /ac "MSCV-VSClass3.cer" /s "My" /n "Beijing Venustech Cybervision Co., Ltd" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "files\driver-x64\eposfsf.sys"
signtool.exe sign /ac "MSCV-VSClass3.cer" /s "My" /n "Beijing Venustech Cybervision Co., Ltd" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "files\driver-x64\eposfsf.cat"
rem ################################
signtool.exe sign /ac "MSCV-VSClass3.cer" /s "My" /n "Beijing Venustech Cybervision Co., Ltd" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "files\DrvSetup-x64\winVista\lpsimd.sys"
signtool.exe sign /ac "MSCV-VSClass3.cer" /s "My" /n "Beijing Venustech Cybervision Co., Ltd" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "files\DrvSetup-x64\winVista\tdifw_drv.sys"
signtool.exe sign /ac "MSCV-VSClass3.cer" /s "My" /n "Beijing Venustech Cybervision Co., Ltd" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "files\DrvSetup-x64\win2003\netsf.cat"
signtool.exe sign /ac "MSCV-VSClass3.cer" /s "My" /n "Beijing Venustech Cybervision Co., Ltd" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "files\DrvSetup-x64\winVista\netsf_m.cat"

pause

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM