寫在前面
此係列是本人一個字一個字碼出來的,包括示例和實驗截圖。由於系統核心的複雜性,故可能有錯誤或者不全面的地方,如有錯誤,歡迎批評指正,本教程將會長期更新。 如有好的建議,歡迎反饋。碼字不易,如果本篇文章有幫助你的,如有閒錢,可以打賞支援我的創作。如想轉載,請把我的轉載資訊附在文章後面,並宣告我的個人資訊和本人部落格地址即可,但必須事先通知我。
你如果是從中間插過來看的,請仔細閱讀 羽夏看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
中搜尋我們感興趣的東西,雙擊即可定位到原始碼,效果如下:
綜上,我們的配置完成。