麦洛克菲内核开发第一课资料.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上课整体安排 周六,周日下午1点到6点 地点:清华园宾馆旁边 周三,周四晚上8点到10点辅导 时间:3月3日到7月1日(中间清明和五一正常放假) 手机调为震动 交作业时间:每周五晚上 意见反馈 学员群:183948142 邮箱 虚拟机设置 创建一个com1串口 XP BOOT.ini(com1可能为com2,取决于vmware这端的ID) multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=Microsoft Windows XP Professional -debug /debug /debugport=com1 /baudrate=115200 /fastdetect WIN7 bcdedit /dbgsettings serial baudrate:115200 debugport:1 bcdedit /copy {current} /d DebugEntry bcdedit /displayorder {current} {d3d5f290-f64b-11de-a86d-aba3805c5629} bcdedit /debug {d3d5f290-f64b-11de-a86d-aba3805c5629} ON windbg.exe -k com:port=\\.\pipe\com_1,baud=115200,pipe 符号设置: srv*d:\symbols*/download/symbols;D:\Code\crash\Debug;D:\Code\crash\Debug\crash.pdb Vista上DbgPrint启用 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter “DEFAULT” : REG_DWORD : 0xFFFFFFFF RING3与RING0通信 HANDLE hDevice = CreateFile(\\\\.\\NTModelDrv, GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); if( hDevice == INVALID_HANDLE_VALUE ) { return; } CHAR bufRead[1024]={0}; CHAR bufWrite[1024]=Hello, world; DWORD dwRead = 0; DWORD dwWrite = 0; ReadFile(hDevice, bufRead, 1024, dwRead, NULL); WriteFile(hDevice, bufWrite, strlen(bufWrite)+1, dwWrite, NULL); CHAR bufInput[1024] =Hello, world; CHAR bufOutput[1024] = {0}; DWORD dwRet = 0; DeviceIoControl(hDevice, IOCTL_HELLO, bufInput, sizeof(bufInput), bufOutput, sizeof(bufOutput), dwRet, NULL); CloseHandle( hDevice ); RING3与RING0开发区别(2) printf/scanf/fopen/fclose/fwrite/fread/malloc/free不能用 sprintf/strlen/strcpy/wcslen/wcscpy/memcpy/memset可用 NTSTATUS/NT_SUCCESS() STATUS_SUCCESS STATUS_UNSUCCESSFUL STATUS_ACCESS_DENIED STATUS_INSUFFICIENT_RESOURCES 内存分配:PagedPool/NonPagedPool/tag RING3与RING0开发区别(3) API调用与中断级别 驱动调试(2) ssdt:dds poi(nt!KeServiceDescriptorTable) L200 Shadow ssdt: 启动notepad !process 0 0 .process /p NOTEPAD eprocess .reload x win32k!* uf win32k!NtUserGetForegroundWindow 驱动调试(3) BSOD 关闭了无效的HANDLE 在没有ObReferenceObject(pFile

文档评论(0)

三四五 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档