原创 Windows內核安全編程__鍵盤過濾之內核級Hook(二)

  <寒江獨釣>Windows內核安全編程__鍵盤過濾內核級Hook(二) 如果不想讓鍵盤過濾驅動程序或回調函數首先獲得按鍵,則必須比端口驅動更加底層一些。 早期版本的QQ反盜號驅動的原理是這樣的:用戶要輸入密碼時(比如把輸入焦點移動到了

原创 蛋疼的ObReferenceObjectByName調試

今天花了近一天的時間都在調試ObReferenceObjectByName這個內核函數,結果卻無比狗血。故寫篇文章記錄一下這一天蛋疼的調試記錄。 其實說是調試,其實是一直編譯連接不通過。今天在研究楚狂人(其實是360的大牛wowocock

原创 Windows內核安全編程__傳統鍵盤過濾程序

  技術原理 1.預備知識 何爲符號鏈接?符號鏈接其實就是設備的一個“別名”。在應用程序中想要訪問設備一般要通過符號鏈接來完成,而不是設備名本身。

原创 Windows驅動開發技術詳解__Windows內核函數

這篇文章主要複習Windows內核中字符串處理函數,文件讀寫函數,註冊表讀寫函數。 內核模式下的字符串操作: 1.ASCII字符串和寬字符串 在應用程序中,往往使用兩種字符:一種是char型字符串,負責記錄ANSI字符集。

原创 王爽彙編語言__處理數據的兩個基本問題

計算機進行數據的處理和運算,那麼有兩個基本的問題包含在其中: (1)處理的數據在什麼地方 (2)要處理的數據有多長 1.關於bx , si,di,bp (1)在8086CPU中,只有這四個寄存器可以用在[...]中來進行

原创 Windows核心編程__錯誤處理

  文章內容 1.定義自己的錯誤代碼 2.ErrorShow示例程序 在深入討論Windows提供的諸多特性之前,應該先理解各個Windows函數是

原创 Windows內核安全編程__Ramdisk源碼解讀

這篇文章來介紹一下WDK中提供的一個案例源碼--Ramdisk虛擬磁盤。這個例子實現了一個非分頁內存做的磁盤儲存空間,並將其以一個獨立磁盤的形式暴露給用戶,用戶可以將它格式化成一個Windows能夠使用卷,並且像操作一般的磁盤卷一樣對它進

原创 提前透露一下今年的參賽軟件

即《財富2011》之後,本人全力打造的又一力作即將誕生-------“防鯊網”Windows內核安全監控系統~~~ 這是一款強勁的斷黑軟件,隨着內核級病毒的逐漸普及,傳統的查殺已經很難完成對病毒,木馬的有效查殺,病毒由以前類似於“熊貓燒香

原创 走近彙編理解與內核編程

 2006年,我工作時的座位坐在wowocock旁邊。wowocock寫代碼的時候代碼風格一團糟。滿篇都是混亂型的命名、超級跨全工程的全局變量,詭異

原创 Windows內核安全編程__具有還原功能的磁盤捲過濾驅動

  磁盤過濾驅動的概念 1.設備過濾和類過濾 在之前的文章裏,我們已經介紹過濾的概念,所謂過濾技術就是在本來已有的設備棧中加入自己的一個設備。由於

原创 Windows內核安全編程__一個簡單的Windows串口過濾驅動程序的開發

 在Windows系統上與安全軟件相關的驅動開發過程中,“過濾(filter)”是極其重要的一個概念。過濾是在不影響上層和下層接口的情況下,在Windows系統內核中加入新的層,從而不需要修改上層的軟件和下層的真實驅動,就加入了新的功能。

原创 Windows驅動開發技術詳解__Windows內存管理

   作爲開發Windows驅動程序的程序員,需要比普通程序員更多瞭解Windows內部的內存管理機制,並在驅動程序中有效地使用內存。在驅動程序的編

原创 王爽彙編語言__轉移指令原理

可以修改IP,或者可以同時修改CS和IP的指令統稱爲轉移指令。 8086CPU的轉移行爲有以下幾類: * 只修改IP時,稱爲段內轉移,比如:jmp ax * 同時修改CS和IP時,稱爲段間轉移,比如:jmp 1000:0 由於轉移指令對I

原创 Windows驅動開發技術詳解__驅動程序的同步處理

如果驅動程序沒有很好地處理同步問題,操作系統的性能就會下降,甚至出現死鎖等現象。 基本概念 1.問題的引出 下面這段代碼: int number; void Foo() { number++; //做一些事情

原创 Windows內核安全編程__鍵盤過濾之內核級Hook(一)

  Hook分發函數 前一篇文章講述了進行鍵盤過濾,截取用戶輸入的方法。本篇文章開始更加深入地討論鍵盤的過濾與反過濾對抗。無論是過濾還是飯過濾,原理