windows实验-Wrk源码编译与进程模块分析.docVIP

windows实验-Wrk源码编译与进程模块分析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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地址内容,发现内容全是?,这表明这是一个

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档