windows研究内核简介

windows研究内核简介

ID:15486343

大小:2.53 MB

页数:12页

时间:2018-08-03

windows研究内核简介_第1页
windows研究内核简介_第2页
windows研究内核简介_第3页
windows研究内核简介_第4页
windows研究内核简介_第5页
资源描述:

《windows研究内核简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、引子WRK是微软于2006年针对教育和学术界开放的Windows内核的部分源码,WRK(WindowsResearchKernel)也就是Windows研究内核,在WRK中不仅仅只提供了Windows内核模块的部分代码,其还提供了编译工具,也就是通过这个编译工具,你可以将你的WRK编译成一个EXE文件,也就是内核可执行模块,然后你可以利用这个EXE文件来取代操作系统本身的内核,这样的话,下次开机的时候操作系统所加载的内核就是您编译的那个EXE了。工具软件Intelx86CPU;VMware6.5;WindowsServer2003SP1(用于

2、测试WRK编译结果);Windows7(用来编译WRK);WRK1.2;概览WRK首先我们来找到当前Windows操作系统下的内核模块文件,所谓的内核模块文件呢,其实就可以看做是Windows的内核,其由执行体和微内核组成,该文件名为ntoskrnl.exe,即一个二进制模块,该文件位于:C:WindowsSystem32;而我们的WRK编译后所得的结果应该也是一个内核模块文件,也就是说我们编译所得的结果应该就是这个ntoskrnl.exe,当然编译后的名称是可以不同的,默认编译所得为wrkx86.exe(这是x86环境下的默认编译结果名

3、称),下面来分析WRK中目录结构:首先来看WS03SP1HALS目录:WS03SP1HALS代表的意思即WindowsServer2003SP1HALS,也就是在WindowsServer2003SP1下的HAL(硬件抽象层)。在Windows操作系统中,HAL其实是一个独立的DLL(在这里你就可以简单的将HAL看做一个DLL),通过HAL可以实现隔离掉硬件的差异,也就是上层的模块无需考虑下层真实硬件之间的差异性,因为上层模块不能够直接访问硬件,而是通过HAL来访问硬件的,所以对于硬件的差异性,在HAL中即可以解决掉,而不需要上层模块来解决,

4、这样做的好处是很显然的,那就是我们的上层模块都是一样的,也就是当硬件改动时不需要变,只要提供针对不同的硬件的HAL即可以实现在不同的硬件上运转我们的上层模块。由于我们的PC上的硬件不一致,所以必须有多个HAL。比如我的PC的处理器为Intel的,而你的PC的处理器为AMD的,我的处理器为单核的,而你的处理器为四核的,那么这就会造成硬件上的不一致,为了解决这种不一致呢,Windows在打包的时候会打包多个HAL进来,比如一个HAL针对单核,一个HAL针对多核,Windows在安装的时候就会自动的识别出你的处理器是AMD还是Intel,是多核还是

5、单核处理器,然后Windows就会自动选择一个合适的HAL给你安装,同时,将HAL名字修改为HAL.DLL,而在WS03SP1HALS目录下的也就是这些个HAL,比如我的PC的处理器为Intelx86系列的双核处理器,自然在安装Windows的时候,就会自动选择合适的HAL,比如halmps.dll作为HAL,然后在安装Windows的时候将这个HAL复制进我的C盘指定目录下后,就将这个halmps.dll改名为hal.dll(为了统一所以改名),这样就可以得到我们下面看到的在C:WindowsSystem32hal.dll了。再来看P

6、ublic目录:在这个目录下包含的是一些头文件,也就是.h文件,而且这些文件都是被各个组件所共享使用的,也就是公用的,其中含有ddk,internal等等,其中internal表示为内部使用的,也就是内核自身需要使用到的头文件。再来看Tools目录:前面提到,WRK中不仅仅包含了微软公开的关于Windows内核的部分源代码,还包括了用来编译这部分源代码的工具,而这些编译工具自然就在这个Tools目录下了。在后面我们编译这个WRK源代码的时候就会用到这个Tools目录下的工具了。最后看Base目录,其中Base目录下的ntos目录为Window

7、s内核模块的主目录:下面就来逐一的介绍这些个目录中的文件的含义:buildWRK只公开了部分源代码,那些未公开的则以二进制目标代码的形式存在于这个目录下。cache缓存管理器的实现的源文件。config注册表的实现的源文件。dbgk调试子系统的内核模式部分的源文件。ex执行体层函数(内核堆,同步,定时器等)的源文件。fsrtl文件系统运行库的源文件。fstub文件系统引导接口。ioI/O管理器,不包括即插即用管理器和电源管理器部分。ke(微)内核,包括线程调度器,CPU管理以及底层的同步语义lpc本地过程调用(LPC)机制的实现。mm内存管理

8、器。ob内核对象管理器。perf内核的性能日志记录功能。ps进程和线程。se安全引用监视器。wmiWindows管理规范。inc仅适用于NTOS部分的包含文件。ra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。