麦洛克菲内核开发第一课解读.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上课整体安排 周六,周日下午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)

335415 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档