您好,登錄后才能下訂單哦!
要開發(fā)一個(gè)windows驅(qū)動程序,需要先掌握C語言相關(guān)知識,并理解一些操作系統(tǒng)知識,然后搭建windows driver開發(fā)環(huán)境,以及準(zhǔn)備一些必要的工具。
我們知道,windows系統(tǒng)程序分為四個(gè)運(yùn)行級別:R0,R1,R2,R3,其中,R3運(yùn)行應(yīng)用程序,權(quán)限最低;R0運(yùn)行內(nèi)核代碼,管理硬件設(shè)備及運(yùn)行驅(qū)動程序,權(quán)限最高,也就是說,一旦我們的驅(qū)動代碼被OS內(nèi)核加載,那么我們的驅(qū)動程序就具備了最高權(quán)限,這是一件很開心的事情,也是一件很可怕的事情,開心在于我們可以實(shí)現(xiàn)更高級的功能,可怕的是,一旦產(chǎn)生錯(cuò)誤,系統(tǒng)就會藍(lán)屏。R1,R2兩個(gè)級別被Windows系統(tǒng)棄用,我們不必理會。
對于一個(gè)驅(qū)動程序開發(fā)新手,包括我自己,其實(shí)很糾結(jié)。首先我們分不清三者之間的關(guān)系和區(qū)別,其次,不知道到底該學(xué)哪個(gè)。其實(shí)三者并無本質(zhì)區(qū)別,學(xué)哪個(gè)都行,當(dāng)你遇到問題,需要解決問題的時(shí)候,就自然掌握和理解了。
NT:沒有電源管理和即插即用到處模塊
WDM:有電源管理和即插即用,可實(shí)現(xiàn)inf文件安裝
WDF:WDF框架是為了減少開發(fā)者因?yàn)樽陨硭降南拗贫霈F(xiàn)的不必要藍(lán)屏錯(cuò)誤,WDF框架將操作準(zhǔn)化,相當(dāng)于把簡答題變成了填空題,降低了出錯(cuò)概率。
Visual Studio 20xx:開發(fā)工具
Windows SDK:開發(fā)庫
WDK:驅(qū)動開發(fā)庫
DebugViewer:調(diào)試內(nèi)核,查看內(nèi)核打印輸出
DriverMonitor:驅(qū)動加載工具,省去了手動安裝過程,非常方便
PcHunter:windows信息查看軟件,比OS自帶的任務(wù)管理器顯示內(nèi)容更多
DeviceTree:查看設(shè)備列表
WinObj:windows對象查看
IDA Pro:反編譯工具(暫時(shí)用不到)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。