寫在前面
此系列是本人一個字一個字碼出來的,包括示例和實驗截圖。由於系統內核的復雜性,故可能有錯誤或者不全面的地方,如有錯誤,歡迎批評指正,本教程將會長期更新。 如有好的建議,歡迎反饋。碼字不易,如果本篇文章有幫助你的,如有閑錢,可以打賞支持我的創作。如想轉載,請把我的轉載信息附在文章后面,並聲明我的個人信息和本人博客地址即可,但必須事先通知我。
你如果是從中間插過來看的,請仔細閱讀 羽夏看Win系統內核——簡述 ,方便學習本教程。
所需工具
- SourceInsight
- WRK(Windows Research Kernel)
SourceInsight 的安裝
SourceInsight
是一個功能強大的面向項目的編程編輯器、代碼瀏覽器和分析器,可幫助您在工作和計划時理解代碼,內置了針對C/C++
、C#
、Java
、Objective-C
等的動態分析,點擊進入 官網 。它是一款付費軟件,如果你覺得軟件有用,請購買正版。看雪上有個大佬給出了Patched
版本,點擊 鏈接 進行查看。怎么安裝就按照上面的說明就行了,本人不再贅述。
配置 WRK
WRK
的全稱是Windows Research Kernel
,它是微軟為高校操作系統課程提供的可修改和跟蹤的操作系統教學平台。它給出了Windows
這個成功的商業操作系統的內核大部分代碼,可以對其進行修改、編譯,並且可以用這個內核啟動Windows
操作系統。可讓學生將操作系統基本原理和商業操作系統內核聯系起來,進一步加深對操作系統整體的理解。
當然,我們配置WRK
並不是為了編譯系統,而是為了必要時查看源碼,降低不必要的逆向成本。不過逆向對於本系列教程的學習,是必須的技能。因為WRK
是個好幾個老版本NT
架構的代碼了,現在我寫文章的時候Win11
都出來了,肯定部分代碼還是有些變化,不過對於基於XP
研究系統內核,這個似乎也足夠了。WRK
請到本系列的 羽夏看Win系統內核——簡述 進行查看和下載。
安裝完SourceInsight
注冊之后,打開后界面如下所示:
接下來我們需要解壓WRK
源碼,只需解壓WRK-v1.2
到你想要放置的路徑即可:
解壓好后,然后在SourceInsight
的Project
菜單下點擊New Project
:
就會出現下面的界面,按照下圖所示的步驟進行:
點擊確定后,就會到配置項目設置。這里直接點擊確定按鈕即可:
接下來我們需要將源碼文件添加到項目即可。SourceInsight
是比較人性化的,我們不需要一個一個的將源碼文件添加到項目里面,只需要按照下面圖示的方法添加,它就會自動分析將需要添加的文件添加到項目當中去:
點擊Add Tree
后,會彈出下面的彈出,點擊確定即可:
最終添加好源碼的窗體效果如下,點擊關閉按鈕完成項目文件的添加:
關閉上面的窗體后,點擊鍵盤上的F7
,它的作用就是Activate Project Symbol List
,即激活項目符號,會有下面的彈窗,點擊是即可:
SourceInsight
開始加載,過一會就會加載完畢:
我們可以直接在Project Symbol
中搜索我們感興趣的東西,雙擊即可定位到源碼,效果如下:
綜上,我們的配置完成。