- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
windows实验-Wrk源码编译与进程模块分析
Wrk源码编译与进程模块分析
实验人员:
实验内容:1.在虚拟机上装载windows 2003 SP1,编译wrk,用编译后的内核重新启动操作系统
2.列举wrk进程模块分析
实验目的:通过实验,将操作系统基本原理和商业操作系统内核联系起来,进一步加深对操作系统整体的理解。Wrk源码编译
1. 虚拟机环境搭建。使用软件VirtualBox,安装Windows Server 2003 sp1
2. 将WRK源码拷贝到系统下C盘,将文件夹取名wrk
3. ?将系统中的环境变量Path设置为C:\wrk\tools\x86;%path% (在命令提示符中输入)cdwrk\base\ntos
5. ?(在命令提示符中输入)nmake -nologo x86=
(内核正在编译...编译完后在wrk\base\ntos\BUILD\EXE下生成内核文件)
编译过程出现找不到msvcr71.dll和MSVCP71.DLL两个文件,原因是VC7运行库中缺少这两个文件,直接从网上下载后拷进\WINDOWS\system32\即可
6.成功编译后,将wrk\base\ntos\BUILD\EXE下的内核文件拷贝到C:\windows\system32下 (在命令提示符中输入)在C:\windows\system32路径下输入link -dump -all hal.dll | findstr pdb命令,查看你的hal按照下面对照:
halacpi.dll - halacpim.dll ; ACPI PIC-based PC [used by VirtualPC]
halaacpi.dll - halmacpi.dll ; ACPI APIC-based PChalapic.dll - halmps.dll ; MPS
8. 进入C:\wrk\WS03SP1HALS\x86目录下,将相应的hal文件夹下的文件(2个)拷贝到C:\windows\system32下boot.ini
在最后一行加入:
multi(0)disk(0)rdisk(0)partition()\WINDOWS=test /kernel=wrkx86.exe /hal=hamacpim.dll
10. ?重新启动,进入新编译好的内核
wrk进程模块源码分析
psapi.dll中有一组函数可以达到这个目的。
现在来实现这个功能。??????
?????????????????????????进程环境块(process environment block)
????要想列举出进程的模块,首先要了解进程环境块的概念。进程环境块是一个数据结构,它寄宿在EPROCESS结构中。找到它的结构定义,
????如下:
???typedef?struct?_PEB?{?
????????BYTE Reserved1[2];?
????????BYTE BeingDebugged;?
????????BYTE Reserved2[1];?
????????PVOID Reserved3[2];?
????????PPEB_LDR_DATA Ldr;?
????????PRTL_USER_PROCESS_PARAMETERS ProcessParameters;?
????????BYTE Reserved4[104];?
????????PVOID Reserved5[52];?
????????PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine;?
????????BYTE Reserved6[128];?
????????PVOID Reserved7[1];?
????????ULONG SessionId;
}?PEB,??*PPEB;
?//in ntpsapi.h
???typedef?struct?_PEB_LDR_DATA?{
????ULONG Length;
????BOOLEAN Initialized;
????HANDLE SsHandle;
????LIST_ENTRY InLoadOrderModuleList;
????LIST_ENTRY InMemoryOrderModuleList;
????LIST_ENTRY InInitializationOrderModuleList;
????PVOID EntryInProgress;
????}?PEB_LDR_DATA, *PPEB_LDR_DATA;
???
???结构中包含有三个双向链表结构,这三个都是KLDR_DATA_TABLE_ENTRY的双向链表
用dd命令获取PEB地址内容,发现内容全是?,这表明这是一个
您可能关注的文档
最近下载
- 国企中层领导竞聘笔试题(含答案).docx VIP
- 小学与初中英语衔接教学建议.ppt
- 2025年证券从业资格考试真题及答案.docx VIP
- ABB SPAM150C 电动机保护继电器模件 手册(中文).pdf
- 2023年标准化工程师考试试题.pdf VIP
- 新版西师大版三年级数学上册应用题专项练习题 .docx VIP
- 精装修工程冬季施工方案、.doc VIP
- INFINI Labs(曾勇):下一代纯实时搜索引擎INFINI Pizza.pdf VIP
- DB62_T 5087-2025 马铃薯品种 天薯15号.docx VIP
- DB41_T 2829-2025 大口黑鲈池塘养殖技术规范.docx VIP
原创力文档


文档评论(0)