環境
- win10 x64
- vmware workstation 14 pro
- win 7 旗艦版 x64 虛拟機
- visual studio2017 社群版
- WDK 10
- virtual KD3
- DrvInst.exe
- DbgView.exe
安裝visual studio2017
在微軟的官網下載下傳visual studio2017的安裝檔案
下載下傳位址為
https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 安裝過程中 工作負載 勾選 使用C++桌面開發
安裝成功後,需要在vs2017社群版中登陸微軟賬号,不然隻能用30天
安裝 wdk 10
在微軟的官網上下載下傳wdk安裝包
注意vs2017中SDK和wdk的安裝版本要一緻,不然會導緻驅動程式編譯失敗
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 WDK安裝完成後 會自動安裝wdk的vs擴充
檢查wdk和win10 SDK的版本是否一緻
打開windows控制台中的解除安裝程式,檢視windows SDK 和 windows Driver Kits的版本号是否一緻,如果不一緻的話,需要安裝與wdk版本一緻的sdk,在VS的
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 在開始菜單中找到 visual studio installer
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 點選修改
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 在 單個元件 SDK中勾選與WDK版本一緻的SDK安裝即可
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 安裝vassistx插件
VAssistX是visusal studio的一個插件,可以實作代碼高亮、自動折疊等功能
下載下傳位址
連結: https://pan.baidu.com/s/1MN_Bs0qf6XdbYpJ0y_KPbw 密碼: ykr8
安裝檔案中有一個VA_X.dll,替換下面這個檔案,即可完成破解
C:\Users\使用者名\AppData\Local\Microsoft\VisualStudio\15.0_e517f3de\Extensions\tvelb2zk.4nn\VA_X.dll
安裝并破解成功後,打開visual studio2017,上面的菜單欄會有一個VAssitX的菜單項
使用VS2017建立和編譯第一個驅動程式
在vs中建立一個新的工程,選擇Empty WDM Driver模闆,如下圖所示
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 添加一個c檔案
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 添加一個最簡單的驅動驅動
#include<ntddk.h>
VOID DriverUnload(PDRIVER_OBJECT drivrObject);
NTSTATUS DriverEntry(PDRIVER_OBJECT driverObject,
PUNICODE_STRING regPath)
{
KdPrint(("helloworld"));
KdBreakPoint();//設定一個斷點
driverObject->DriverUnload = DriverUnload;//設定驅動解除安裝的回調函數
return STATUS_SUCCESS;
}
//驅動的解除安裝函數
VOID DriverUnload(PDRIVER_OBJECT drivrObject)
{
KdPrint(("DriverUnload\n"));
}
在項目的屬性中作如下的設定 如下圖所示
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 編譯,如下圖所示
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 配置雙機調試環境
原來一般使用序列槽來調試虛拟機中的驅動程式,但是序列槽的速率比較低,當使用windbg.exe單步調試時比較卡頓,使用virtualKD可以破解序列槽速率的限制
在virtualKD官網上下載下傳,位址為https://sysprogs.com/legacy/virtualkd/download/
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 下載下傳完成,輕按兩下解壓
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 解壓 後的目錄結構如下圖
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 将target拷貝到虛拟機中安裝,其中有一個vminstall.exe程式,一路點下一步即可,重新開機虛拟機
這裡使用的虛拟機系統為windows7 x64 旗艦版
重新開機虛拟機,選擇 windows7[VirtualKD][啟用調試程式]的啟動項
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 在主控端上啟動vmmon.exe,設定windbg.exe的路徑,啟動調試器,會自己打開windbg
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 将驅動程式拷貝至虛拟機中,使用DrvIns.exe安裝驅動,使用dbgview.exe檢視驅動程式的輸出結果。
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 啟動驅動程式,會在windbg中看到斷點,輸入g将繼續運作
使用vs2017+wdk10+vitualKD搭建驅動開發環境環境安裝visual studio2017安裝 wdk 10檢查wdk和win10 SDK的版本是否一緻安裝vassistx插件使用VS2017建立和編譯第一個驅動程式配置雙機調試環境注意參考資料 windbg的使用可參考https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/getting-started-with-windbg
注意
對于 vmware 15以上的版本virtualKD3會出現相容性問題
建立使用 VirtualKD-Redux的最新版本
可在github上下載下傳
https://github.com/4d61726b/VirtualKD-Redux/releases
參考資料
- https://docs.microsoft.com/zh-cn/windows-hardware/drivers/other-wdk-downloads