最近又研究到了win10的驅動調試與反調試這一塊,搭配着CPU VT虛擬化指令集/調試器這些,一看到這里就頭疼,以前研究時候就總覺得太枯燥,后來工作中也沒用到,久而久之就暫時放下了
知識就在那里,你躲是躲不掉的,總有一天你的工作中仍然還會遇到這樣的問題,值此時機,剛還順着工作好好再深入研究下吧。
先搭建環境,本機原本是VS2017,無法開發win10驅動,索性卸載重裝VS2019了,還是把一些重要的設置記錄下來吧,免得時間久了又得四處谷歌。
VS2019+WDK10安裝與設置;
從微軟該頁面可以查看/下載vs版本與WDK版本的對應關系:
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk

選擇c++ 桌面開發, 選擇win10 sdk 10.0.190441
安裝WDK;

驅動helloworld;
#include <ntifs.h> VOID UnLoadDriver(PDRIVER_OBJECT pDriverObject) { KdPrint(("UnloadDriver success!")); } NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath) { KdPrint(("%wZ", pRegistryPath)); pDriverObject->DriverUnload = UnLoadDriver; return STATUS_SUCCESS; }
編譯驅動設置:




設置完畢,項目右鍵重新生成;

出現這個 錯誤 MSB8040 此項目需要緩解了 Spectre 漏洞的庫。

谷歌了一圈,需要這樣解決:



有的人顯示的是最新,那么就在搜索框輸入最新搜索安裝就好;

VA插件安裝與設置
一個上午測試了很多個VA插件,總是安裝替換VA_X.dll破解文件后,vs2019啟動后仍然會讓輸入key,並崩潰;
最后還是使用了一個以前飄雲閣出的通過破解補丁得以緩解(Visual Assist X 通用破解補丁 v2.0.7z),放在這里,需要自取(
鏈接: https://pan.baidu.com/s/1InGB-d1fWCd5LaMpqSy5fg 提取碼: z2de );
中文設置:

最后
下載一個InstDrv.exe,用來加載驅動程序;
下載一個Dbgview.exe,用來顯示驅動的log;
在vmware里邊弄個win10,把強制簽名關了,折騰吧

我開始的時候打印不出來信息,按照網上的創建注冊表那些也不行,最后是在VS編譯的時候那個簽名的位置改成使用測試簽名才打印出來,大家遇到這問題可以試試
