欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Windows 內核(WRK)簡(jiǎn)介
引子
WRK 是微軟于 2006 年針對教育和學(xué)術(shù)界開(kāi)放的 Windows 內核的部分源碼,
WRK(Windows Research Kernel)也就是 Windows 研究?jì)群耍?div style="height:15px;">
在 WRK 中不僅僅只提供了 Windows 內核模塊的部分代碼,其還提供了編譯工具,
也就是通過(guò)這個(gè)編譯工具,你可以將你的 WRK 編譯成一個(gè) EXE 文件,
也就是內核可執行模塊,然后你可以利用這個(gè) EXE 文件來(lái)取代操作系統本身的內核,
這樣的話(huà),下次開(kāi)機的時(shí)候操作系統所加載的內核就是您編譯的那個(gè) EXE 了。
工具軟件
Intel   x86  CPU;
VMware  6.5;
Windows  Server  2003  SP1(用于測試 WRK 編譯結果);
Windows  7(用來(lái)編譯 WRK);
WRK  1.2 ;
概覽 WRK
首先我們來(lái)找到當前 Windows 操作系統下的內核模塊文件,
所謂的內核模塊文件呢,其實(shí)就可以看做是 Windows  的內核,
其由執行體和微內核組成,該文件名為 ntoskrnl.exe ,即一個(gè)二進(jìn)制模塊,
該文件位于:C:\Windows\System32 ;
而我們的 WRK 編譯后所得的結果應該也是一個(gè)內核模塊文件,
也就是說(shuō)我們編譯所得的結果應該就是這個(gè) ntoskrnl.exe ,
當然編譯后的名稱(chēng)是可以不同的,
默認編譯所得為 wrkx86.exe (這是 x86 環(huán)境下的默認編譯結果名稱(chēng)),
下面來(lái)分析 WRK 中目錄結構:
首先來(lái)看   WS03SP1HALS  目錄:
WS03SP1HALS 代表的意思即 Windows  Server  2003  SP1  HALS,
也就是在 Windows  Server  2003  SP1  下的  HAL (硬件抽象層)。
在 Windows 操作系統中,HAL 其實(shí)是一個(gè)獨立的  DLL (在這里你就可以簡(jiǎn)單的將 HAL 看做一個(gè) DLL) ,
通過(guò) HAL 可以實(shí)現隔離掉硬件的差異,也就是上層的模塊無(wú)需考慮下層真實(shí)硬件之間的差異性,
因為上層模塊不能夠直接訪(fǎng)問(wèn)硬件,而是通過(guò) HAL 來(lái)訪(fǎng)問(wèn)硬件的,
所以對于硬件的差異性,在 HAL 中即可以解決掉,而不需要上層模塊來(lái)解決,
這樣做的好處是很顯然的,那就是我們的上層模塊都是一樣的,也就是當硬件改動(dòng)時(shí)不需要變,
只要提供針對不同的硬件的 HAL 即可以實(shí)現在不同的硬件上運轉我們的上層模塊。
由于我們的 PC 上的硬件不一致,所以必須有多個(gè) HAL 。
比如我的 PC  的處理器為  Intel 的,而你的 PC 的處理器為 AMD 的,
我的處理器為單核的,而你的處理器為四核的,
那么這就會(huì )造成硬件上的不一致,為了解決這種不一致呢,
Windows 在打包的時(shí)候會(huì )打包多個(gè) HAL 進(jìn)來(lái),比如一個(gè) HAL 針對單核,一個(gè) HAL 針對多核,
Windows 在安裝的時(shí)候就會(huì )自動(dòng)的識別出你的處理器是 AMD 還是 Intel ,是多核還是單核處理器,
然后 Windows 就會(huì )自動(dòng)選擇一個(gè)合適的 HAL  給你安裝,同時(shí),將 HAL 名字修改為 HAL.DLL,
而在 WS03SP1HALS 目錄下的也就是這些個(gè) HAL ,
比如我的 PC 的處理器為 Intel  x86 系列的雙核處理器,
自然在安裝 Windows 的時(shí)候,就會(huì )自動(dòng)選擇合適的 HAL ,比如 halmps.dll 作為 HAL ,
然后在安裝 Windows 的時(shí)候將這個(gè) HAL 復制進(jìn)我的 C 盤(pán)指定目錄下后,
就將這個(gè) halmps.dll 改名為 hal.dll(為了統一所以改名),
這樣就可以得到我們下面看到的在 C:\Windows\System32\hal.dll 了。
再來(lái)看   Public   目錄:
在這個(gè)目錄下包含的是一些頭文件,也就是 .h 文件,而且這些文件都是被各個(gè)組件所共享使用的,也就是公用的,
其中含有 ddk , internal 等等,其中 internal 表示為內部使用的,也就是內核自身需要使用到的頭文件。
再來(lái)看   Tools   目錄:
前面提到,WRK 中不僅僅包含了微軟公開(kāi)的關(guān)于 Windows 內核的部分源代碼,
還包括了用來(lái)編譯這部分源代碼的工具,而這些編譯工具自然就在這個(gè) Tools 目錄下了。
在后面我們編譯這個(gè) WRK 源代碼的時(shí)候就會(huì )用到這個(gè) Tools 目錄下的工具了。
最后看   Base   目錄,其中 Base 目錄下的 ntos 目錄為 Windows 內核模塊的主目錄:
下面就來(lái)逐一的介紹這些個(gè)目錄中的文件的含義:
build
WRK 只公開(kāi)了部分源代碼,那些未公開(kāi)的則以二進(jìn)制目標代碼的形式存在于這個(gè)目錄下。
cache
緩存管理器的實(shí)現的源文件。
config
注冊表的實(shí)現的源文件。
dbgk
調試子系統的內核模式部分的源文件。
ex
執行體層函數(內核堆 , 同步 , 定時(shí)器等)的源文件。
fsrtl
文件系統運行庫的源文件。
fstub
文件系統引導接口。
io
I/O 管理器,不包括即插即用管理器和電源管理器部分。
ke
(微)內核,包括線(xiàn)程調度器,CPU 管理以及底層的同步語(yǔ)義
lpc
本地過(guò)程調用 (LPC) 機制的實(shí)現。
mm
內存管理器。
ob
內核對象管理器。
perf
內核的性能日志記錄功能。
ps
進(jìn)程和線(xiàn)程。
se
安全引用監視器。
wmi
Windows 管理規范。
inc
僅適用于 NTOS 部分的包含文件。
raw
RAW 文件系統驅動(dòng)程序的實(shí)現的源文件。
rtl
內核運行時(shí)庫支持。
init
內核啟動(dòng)部分的代碼。
vdm
虛擬 DOS 機。
verifier
驅動(dòng)程序檢驗器。
編譯 WRK
首先是設置 WRK 根目錄下的 Tools 子目錄中的 x86 子目錄到  Path 環(huán)境變量中,
首先在控制臺下進(jìn)入到 WRK 根目錄下的 Base 目錄下的 Ntos 目錄下,
然后輸入命令:nmake  –nologo  x86=  ;
(如果是 AMD 的 CPU 的話(huà)命令會(huì )有所不同,而且環(huán)境變量的設置也不同)
然后就開(kāi)始編譯整個(gè) WRK 了。
編譯完成:
此時(shí)就可以在目錄:WRK-v1.2\base\ntos\build 下面找到編譯好的 EXE 文件了。
至此編譯完成。
加載 WRK 編譯所得的內核模塊
前面我們已經(jīng)由 WRK 編譯得到了內核可執行模塊,
下面我們就要讓操作系統啟動(dòng)的時(shí)候加載上編譯所得的這個(gè)內核可執行模塊。
我們使用的環(huán)境是在 VMware 6.5 中安裝好 Windows  Server  2003  SP1 。
首先,我們將由 WRK 編譯所得的 wrkx86.exe 拷貝到虛擬機中,
并且將這個(gè)文件放置到目錄(也就是 ntoskrnl.exe 所在目錄):
然后再在其系統安裝目錄下(一般為 C: 盤(pán))下面找到  boot.ini  文件(默認為隱藏)。
首先需要將這個(gè)文件的只讀屬性去掉,即將該文件改為可讀寫(xiě)文件,
然后用記事本打開(kāi)這個(gè)  boot.ini  文件
修改前的 boot.ini 文件:
再在 boot.ini 中添加如下行:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, WRK" /kernel=wrkx86.exe /hal=hal.dll
修改后的 boot.ini 文件:
將上面的都設置好以后就重新啟動(dòng) Windows  Server  2003  SP1 。
然后在啟動(dòng)畫(huà)面中即可以看到如下畫(huà)面:
我們選擇 Windows  Server  2003 , WRK  啟動(dòng) Windows  操作系統,
這樣加載內核可執行模塊的就是我們由 WRK 編譯所得的那個(gè) wrkx86.exe 了。
總結
上面通過(guò)很多的截圖來(lái)詳細介紹了 WRK 的編譯以及加載由 WRK 編譯所得的內核模塊的過(guò)程,
對于 WRK 有什么作用呢?當然其是用來(lái)學(xué)習滴,也就是通過(guò) WRK 的學(xué)習,
可以更加深入的了解到 Windows  的內核,等到那一天有實(shí)力了,
你大可以通過(guò)修改 WRK 源代碼,然后再編譯成內核模塊,
然后再讓操作系統加載你自個(gè)的內核模塊,當然,這個(gè)不是很容易就可以達到的境界的?。?!
其實(shí)呢,對于 WRK 來(lái)說(shuō),還有一個(gè)調試環(huán)境的搭配,通過(guò)這個(gè)調試環(huán)境,
你可以在外面(指的是在虛擬機以外)通過(guò) WinDbg 來(lái)調試這個(gè)內核,
但是由于這個(gè)在后面介紹驅動(dòng)程序的時(shí)候我會(huì )再做說(shuō)明,所以這里就不添亂了。
版權所有,歡迎轉載,但轉載請注明:     轉載自   Zachary.XiaoZhen - 夢(mèng)想的天空
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
進(jìn)程隱藏與進(jìn)程保護(SSDT Hook 實(shí)現)(一)
WIN NT4.0硬件驅動(dòng)程序安裝釋疑
WDM驅動(dòng)程序入門(mén)(2)——驅動(dòng)程序的小秘密
多線(xiàn)程中的 WaitForSingleObject 與 EnterCriticalSection 性能比較
《Windows內核原理與實(shí)現筆記》(一硬件抽象層HAL是一個(gè)獨立動(dòng)態(tài)鏈接庫)Windows系統結構和基本概念
<windows root>\system32\hal.dll文件丟失,無(wú)法啟動(dòng)。
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久