麦洛克菲内核驱动开发第一课.ppt
《麦洛克菲内核驱动开发第一课.ppt》由会员分享,可在线阅读,更多相关《麦洛克菲内核驱动开发第一课.ppt(34页珍藏版)》请在三一办公上搜索。
1、2012-03-03,麦洛克菲内核开发第一课,麦洛克菲,周扬荣,上课整体安排,周六,周日下午1点到6点地点:清华园宾馆旁边周三,周四晚上8点到10点辅导地点:回龙观地铁对面首开智慧社4楼1单元1204时间:3月3日到7月1日(中间清明和五一正常放假)手机调为震动交作业时间:每周五晚上意见反馈学员群:183948142邮箱:,麦洛克菲,提纲,测试试题串讲Hello world编译与运行驱动框架驱动是如何运行的驱动服务安装RING3与RING0通信RING3与RING0开发区别驱动API分类集合常见的驱动漏洞、缺陷问题的7大忠告调试(蓝屏DUMP分析,ring3与ring0联调)第一个驱动例子:进
2、程创建监视,测试与基础,打印格式%c%wc%C%d%ld%i64d%D%L%s%ws%S%u%x%p%f%Z%wZ数据对齐系统内存布局程序内存布局位运算(数的表示与存储 补码/低位优先)C语言:0 x/0 u/l/ul/i64/ll/LL汇编:1aH/17O/12D/110B函数形参参数内存分配/堆/栈调用约定与栈帧、FPO优化(stdcall,cdecl,fastcall,thiscall,nakedcall)算法(确定原型,输入检查(严进宽出),边界考虑,出错处理,性能优化),麦洛克菲,麦洛克菲,努力方向,C语言(数据结构,操作系统,汇编,编译原理)UI界面(MFC/WTL)内核调试(WI
3、NDBG)(F1HELP文档)逆向(IDA/OLLYDBG),麦洛克菲,基础书籍推荐,C程序设计 谭浩强 清华大学出版社C语言入门经典英文版C语言编程精粹 姜静波等译 电子工业高质量C+/C编程指南 林锐 电子工业Effective C+侯捷译 华中科技大学出版社More Effective C+侯捷译 中国电力出版社程序员求职成功路 周扬荣 机械工业出版社汇编语言 王爽 清华大学出版社VC技术内幕深入浅出MFC,麦洛克菲,内核书籍推荐,Windows 2000设备驱动程序设计指南 Art Baker等著 施诺译 机械工业出版社寒江独钓:Windows内核安全编程 邵坚磊等著 电子工业出版社天
4、书夜读:从汇编语言到Windows内核编程邵坚磊等著 电子工业 Windows驱动开发技术详解 张帆 电子工业出版社 Rootkits:Subverting the Windows Kernel GregHoglund等著C:WinDDK7600.16385.0srchttp:/http:/http:/http:/MSDN,麦洛克菲,Hello world,.c/.hSOURCES/MAKEFILE.DSP/.DSWEASYSYS/既有框架安装与运行虚拟机调试环境搭建,Sources文件:TARGETNAME=HelloDrv(DrvName)TARGETPATH=debugTARGETTYP
5、E=DRIVERSOURCES=main.c other.cSources文件其它字段:C_DEFINES=$(C_DEFINES)DYOUR_DEFINESINCLUDES=$(INCLUDES);.incTARGETLIBS=$(TARGETLIBS)$(DDK_LIB_PATH)ndis.libPRECOMPILED_INCLUDE=precomp.hDRIVERTYPE=FSmakefile文件:!INCLUDE$(NTMAKEENV)makefile.def,虚拟机设置,创建一个com1串口XP BOOT.ini(com1可能为com2,取决于vmware这端的ID)multi(0)
6、disk(0)rdisk(0)partition(1)WINDOWS=Microsoft Windows XP Professional-debug/debug/debugport=com1/baudrate=115200/fastdetectWIN7bcdedit/dbgsettings serial baudrate:115200 debugport:1bcdedit/copy current/d DebugEntrybcdedit/displayorder current d3d5f290-f64b-11de-a86d-aba3805c5629bcdedit/debug d3d5f290
7、-f64b-11de-a86d-aba3805c5629 ONwindbg.exe-k com:port=.pipecom_1,baud=115200,pipe 符号设置:srv*d:symbols*http:/ManagerDebug Print Filter“DEFAULT”:REG_DWORD:0 xFFFFFFFF,麦洛克菲,驱动框架(1),HOOK函数,驱动框架(2),麦洛克菲,NT模型DriverEntry()(单线程环境)DispatchCreate()IRP_MJ_CREATEDispatchRead()IRP_MJ_READDispatchWrite()IRP_MJ_WRIT
8、EDispatchClose()IRP_MJ_CLOSE(FileObject引用为0)DispatchClean()IRP_MJ_CLEANUP(Handle引用为0)DispatchControl()IRP_MJ_DEVICE_CONTROLDriverUnload()(单线程环境)WDMWDMAddDevice()WDMPnp()应用框架Sfilter/MinifilterTDI/NDIS/WFPDISKPERFHOOK,写一个NTModelDrv,结构定义卸载例程分发函数(通用的,单独的)DriverEntry编译运行,麦洛克菲,麦洛克菲,IRP结构理解与操作(1),文件过滤驱动设备,
9、文件卷设备,磁盘设备,IRP,驱动设备,IRP,麦洛克菲,IRP结构理解与操作(2),Irp-AssociatedIrp.SystemBufferIrp-IoStatus.StatusIrp-IoStatus.InformationIrp-UserBufferIrp-MdlAddressPIO_STACK_LOCATION irpStack;irpStack=IoGetCurrentIrpStackLocation(Irp);irpStack-Parameters.Read.LengthirpStack-Parameters.Read.ByteOffsetirpStack-Parameters
10、.DeviceIoControl.IoControlCodeirpStack-Parameters.DeviceIoControl.InputBufferLengthirpStack-Parameters.DeviceIoControl.OutputBufferLengthirpStack-MajorFunctionirpStack-MinorFunctionirpStack-DeviceObjectirpStack-FileObject,麦洛克菲,驱动是如何运行的,A驱动:1创建一个服务(注册表)HKEY_LOCAL_MACHINESYSTEMCurrentControlSetService
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 洛克 内核 驱动 开发 第一

链接地址:https://www.31ppt.com/p-4922416.html