【正文】
態(tài)加載至內(nèi)存時(shí),系統(tǒng)向其發(fā)送 SYS_DYNAMIC_DEVICE_INIT消息, VxD應(yīng)在此時(shí)完成初始化設(shè)置并建立必要的數(shù)據(jù)結(jié)構(gòu)。 //指向輸出緩沖區(qū)的指針 DWORD dioc_cbOutBuf。 第六節(jié) Vxd 技術(shù)的應(yīng)用 1 Vxd 的實(shí)用用途 由于 vxD可以虛擬根本不存在的硬件,因此可以利用 vxD虛擬硬件狗來(lái)破解一些軟件的加密保護(hù)。此外,由于 VxD運(yùn)行在 Ring 0上根本不受 Ring 3的制約,也給病毒的制造者即黑客以可乘之機(jī),比如著名的 CIH病毒就是一個(gè) VxD。 (2) 第九節(jié) 使用 VT00IJSD 開(kāi)發(fā) VXD 驅(qū)動(dòng)程序的關(guān)鍵問(wèn)題 用來(lái)開(kāi)發(fā) VxD模式驅(qū)動(dòng)程序的工具軟件很多,例如 Microsoft公司的 VXD驅(qū)動(dòng)程序開(kāi)發(fā)包、 Numega公司的 VTOOLSD工具和 Jungo公司的 WINDRIVER工具,特別是 VTOOLSD工具為開(kāi)發(fā)建立了許多封裝,大大簡(jiǎn)化了 VXD驅(qū)動(dòng)程序的開(kāi)發(fā)過(guò)程。在內(nèi)存映射時(shí)首先要計(jì)算內(nèi)存段占用的頁(yè)面數(shù),然后使用 PageReserve、 PageCommitPhys函數(shù)進(jìn)行內(nèi)存映射。 VTOOLSD通過(guò)屏蔽系統(tǒng)及 VXD的底層技術(shù)細(xì)節(jié)提供豐富的 C運(yùn)行庫(kù)和 C++類(lèi)庫(kù),讓開(kāi)發(fā)人員充分享用面向?qū)ο缶幊谭椒ǖ姆奖闩c快捷。 Vxdview程序是用來(lái)查看已經(jīng)加載的 VXD的信息的。本屬性頁(yè)包括的消息在 Windows 3x和 Windows 9x下都支持,如果需要?jiǎng)?chuàng)建某個(gè)消息的處理框架和處理程序,只須鉤選相應(yīng)的消息即可, QuickVXD會(huì)自動(dòng)幫你作好處理框架和生成最簡(jiǎn)單的處理程序代碼。在堆棧維護(hù)上, _cdecl必須有調(diào)用 程序彈出壓入堆棧的參數(shù),而 _stdcall則是由被調(diào)用程序彈出壓入堆棧的自己的參數(shù)?,F(xiàn)在我們就給出了一個(gè)制造文件的例子,并對(duì)制造文件的參數(shù)進(jìn)行詳細(xì)講述。 ?終止 VxD: 點(diǎn)擊終止設(shè)備驅(qū)動(dòng)程序圖標(biāo)“ STOP”,終止 VxD 的運(yùn)行 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開(kāi)發(fā) 20 第四章 驅(qū)動(dòng)程序設(shè)計(jì) 第一節(jié) 實(shí)例學(xué)習(xí) 在 VxD 的學(xué)習(xí)例子中,有一個(gè)簡(jiǎn)單的 ,說(shuō)明了 VxD 程序提供的基本框架結(jié)構(gòu)。萬(wàn)事具備后就只需單擊“ Generate Now”按鈕, QuickVXD就會(huì)檢查我們填入的設(shè)備參數(shù)是否正確,這些參數(shù)將填寫(xiě)到 DDB數(shù)據(jù)結(jié)構(gòu)中,如果參數(shù)有錯(cuò),QuickVXD會(huì)通知你。 與“ Control Message”屬性頁(yè)中一樣,你需要處理什么消息鉤選該消息即可。 單擊“ API”標(biāo)簽,對(duì)話框如圖 。 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開(kāi)發(fā) 13 3 VxDView 工具的起始位置之問(wèn)題 VxDview工具可用來(lái)瀏覽當(dāng)前系統(tǒng)裝載了 哪些虛擬驅(qū)動(dòng)程序,我們可用該工具來(lái)查看程序是否裝載了某個(gè) VxD。 3)對(duì)中斷通知處理成員函數(shù)編程 4)如果想讓所有的虛擬機(jī)管 理器都能夠處理本中斷,可以調(diào)用 forceDefaultOwner成員函數(shù)。 系統(tǒng)消息宏 DIOC_OPEN和 DIOC_CLOSE等不需要用戶顯示定義,在驅(qū)動(dòng)程序啟動(dòng)時(shí)自動(dòng)加入消息隊(duì)列。在 VXD模式程序中,開(kāi)發(fā)人員必須在驅(qū)動(dòng)程序中,首先查找硬件設(shè)備的 DEVICEID和 VENDORID,通過(guò)這兩個(gè) ID號(hào)來(lái)連接對(duì)應(yīng)的硬件設(shè)備。顯然這種普通用戶進(jìn)程是無(wú)法勝任實(shí)時(shí)反病毒工作的,必須使后臺(tái)監(jiān)視進(jìn)程運(yùn)行在 Ring 0優(yōu)先級(jí),實(shí)現(xiàn)這一目的基礎(chǔ)就是 VxD技術(shù)。當(dāng)應(yīng)用程序調(diào)用 API函數(shù) CloseHandle(hDevice)關(guān)閉 VxD句柄時(shí), VxD將收到系統(tǒng)發(fā)來(lái)的帶控制碼 DIOC_CLOSEHANDLE的 W32_DEVICEIOCONTROL消息,同時(shí)該 VxD的引用計(jì)數(shù)減 l,當(dāng)最終引用計(jì)時(shí), VxD將收到系統(tǒng)發(fā)來(lái)的帶控制碼DIOC_LOSEHANDLE的 W32_DEVICEIOCONTROL消息,同時(shí)該 VxD的引用計(jì)數(shù)減 l,當(dāng)最終引用計(jì)數(shù)為 0時(shí),系統(tǒng)向 VxD發(fā)送控制消息 SYS_DYNAMIC_DEVICE_EXIT,然后將其從內(nèi)存中清除。 //指向客戶寄存器的指針 VMHANDLE dioc_hvm。 Windows 9x系統(tǒng)下有眾多的 VxD,每個(gè) VxD可四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開(kāi)發(fā) 5 提供 4種服務(wù),即 PM(保護(hù)模式 )API、 V86(虛擬 86)API、 WIn32服務(wù)和 VxD服務(wù),前 3種分別供應(yīng)用程序在 16位保護(hù)模式、 V86模式以及 32位保護(hù)模式下調(diào)用, VxD服務(wù)則只供其它 VxD使用;用戶開(kāi)發(fā)的 VxD可提供任意上述服務(wù)。如它提供低級(jí)內(nèi)在管理和調(diào)度服務(wù);同時(shí)還有對(duì)虛擬設(shè)備驅(qū)動(dòng)程序的服務(wù)。該段包括設(shè)備描述 DDB(Device Descriptor Block)、服務(wù)表和部分 VxD所用的全局?jǐn)?shù)據(jù)。由于操作系統(tǒng)的權(quán)限為 0級(jí),它就可以 捕獲權(quán)限不為。操作系統(tǒng)通過(guò) VxD將物理設(shè)備虛擬化,截取應(yīng)用程序?qū)τ布恼?qǐng)求,并向應(yīng)用程序提供一個(gè)與硬件接口的虛擬環(huán)境。 主題詞 : 數(shù)據(jù)采集、設(shè)備驅(qū)動(dòng)程序、 VTOOLS、 VXD 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開(kāi)發(fā) II Study on data gather base on Window98 (Mechanical design manufacture and automation) Student: Tang Junshan Teacher: Li Xianglong Abstract: The request of real time data processing is more and more important because of the improvement of science technology. We always need to use lots kinds of instrument to help us to get the result of measure to ensure the properties of a object. Data Collection is foundation and key of the numerical control of machine tool and machine electric research paper is main about the Driver Development of Data Collection and the method of Driver Develop based on Windows 98 OS using VtoolsD paper shows the advantages and disadvantages of Driver Develop using VtoolsD SDk and Visual C++ on virtual device. And it farther assumes using the PC7422 12bit 32 route A/D conversion card to simulate the process of the voltage data Collection during the tiny motion process. We could research and develop the Data collection flow from microevolution through these serials of methods, to let Data Collection to be used safely and effectively. The Research paper covers parts of the operate of the method and its feasibility. Keyword: data collection, device drivers, VTOOLS、 VXD 四川大學(xué)本科畢業(yè)論文 基于 win98 系統(tǒng)的數(shù)據(jù)采集開(kāi)發(fā) III 目 錄 第一章 緒論 ............................................................................................................................... 1 第一節(jié) 數(shù)據(jù)采集的目的 ................................................................................................ 1 第二節(jié) 數(shù)據(jù)采集的作用 ................................................................................................ 1 第三節(jié) Windows 98 的特點(diǎn) ......................................................................................... 1 第二章 操作系統(tǒng)內(nèi)核和 VXD ................................................................................................... 2 第一節(jié) Windows Ring0 級(jí)系統(tǒng)核心 ........................................................................ 2 第二節(jié) Vxd 簡(jiǎn) 介 .............................................................................................................. 2 第三節(jié) Vxd 特征淺析 .................................................................................................... 3 第四節(jié) Vxd 的基本工作原理和調(diào)用機(jī)制 ............................................................... 4 1 VMM 及其提供的擴(kuò)展服務(wù) .............................................................................................. 4 2 Vxd 消息處理 ..................................................................................................................... 5 3 Vxd 調(diào)用機(jī)制 ..................................................................................................................... 6 第五節(jié) Vxd 常用開(kāi)發(fā)工具 ........................................................................................... 7 第六節(jié) Vxd 技術(shù)的應(yīng)用 ................................................................................................ 7 1 Vxd 的實(shí)用用途 .............................................................................................................. 7 2 基于 VxD 的實(shí)時(shí)反病毒技術(shù) ........................................................................................ 7 第七節(jié) Vxd 的局限性 ..........