環境是:
window 2003 server
工具:
Windows Server 2003 DDK(迅雷:ftp://www.driverdevelop.com/en_ws2003_sp1_ddk.iso)
Driverstudio3.2 (迅雷:http://cracklab.ru/_dl/_/DriverStudio_3.2_CRACKLAB.rU.rar)
Visual c++6.0
source insight3.2(序號:SI3US-205035-36448)
相應的環境如何搭建網上有許多文章,我只想說說自己遇到的問題。
學習NDIS肯定會參閱下面的文章(有兩篇,下面其中一篇)
http://www.wd-3.com/archive/ExtendingPassthru2.htm
感謝Thomas不但講解了,還提供了相應的代碼供我們閱讀。
但代碼下下來後傻眼了,裡面的函數關係看著就頭大,對驅動編程也不瞭解。
如何閱讀passthru代碼?
我的方法是:
用source insight查看應用程式端的代碼,使用裡面的函數關係圖,這樣對代碼的結構就一清二楚了。
當我解決了應用端程式的疑惑後,我開始想驅動程式也是很複雜的關係,怎麼閱讀呢?(驅動程式中很多都是NDIS庫函數,用source insight無法詳盡例舉出相關的呼叫歷程圖)
我下載了Driverstudio3.2,使用它將相應的工程轉化為VC工程,VC中如何看呼叫歷程圖呢?
使用VC中的source browers(菜單tools下)。
通過source insight中的呼叫歷程圖和VC的source browers,十分方面我對代碼的閱讀,可以為自己省不少事。
後面的事情就是通過工具方便快速的理解程式,然後設計自己的東西了。
希望這篇文章能夠對看到代碼不知如何入手的朋友有所協助。
另外在我的上傳資源中有一個《NDIS防火牆》文檔,是針對passtru進行講解的,也有Thomas兩個例子的源碼和英文講解的翻譯。
上述資源都來自網路,謝謝大家的分享。