随笔分类 - 郁金香Driver
摘要:1、 读出SSDT表当前函数地址 A、引用KeServiceDescriptorTable表 B、通过ServiceTableBase+偏移读出当前函数地址 C、用windbg测试读取的值 【100】把第16课代码复制过来(第17课 没有写代码) 【155】上节课的公式 [[KeServiceDes
阅读全文
摘要:1、 需要具备的理论知识 A、了解SSDT结构 B、由SSDT索引号获取当前函数地址 C、如何获取索引号 D、获取起源地址 -- 判断SSDT是否被HOOK E、如何向内核地址写入自己的代码 【178】打开 工具KernelDetective 对于内核NtOpenProcess函数,自己写 类似 s
阅读全文
摘要:1、 【145】IRP简介 【205】IRP作用: 上层应用程序 与 底层驱动通信。exe程序 与 sys 。 【245】5种常用IRP类型 【305】IRP也可以用于 驱动与驱动间的通信 IRP_MJ_CREATE(0x00) // 一般由用户层的CreateFile函数产生 IRP_MJ_CLO
阅读全文
摘要:1、 【178】复制第12课的代码,用vs2003(VC7.0)打开 【360】把部分代码 放到新建的头文件(mini_ddk.h)里面,然后项目再 "添加现有项" 【592】此时 "重新生成解决方案",OK ZC: 可以将“L"\\Device\\yjxDDK_Device"”和“L"\\??\\
阅读全文
摘要:1、 【120】以 第12课 的源码为例 【160】用 DDK 重新编译源码 【210】为了便于调试,我们下一个断点(ZC: 直接在源码里面下断点啊?),∵ 在入口函数那里下断点不太好下(ZC: 为什么?),我们可以在 卸载例程 里面下一个断点。 【250】如果需要在 入口函数那里就开始跟的话,需要
阅读全文
摘要:1、 13-1.exe http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx ZC: 该页面也换掉了 【2620】这里 WinDbg的安装 选择的是 完整安装 2、 13-2 【1175】WinXP虚拟机中 访问共享目录,地
阅读全文
摘要:1、 【00:50】vs2003编译环境,它有一个功能vc6没有,稳定性 比 VC6高一些,另外 它是中文的 而非汉化的 【01:15】将 第10课 的代码copy过来 【01:42】VC6的工程 转换为 vs2003 的工程 【01:52】vs2003 --> 项目 --> 属性 --> "配置管
阅读全文
摘要:1、 【00:28】认识Win32子系统 【02:02】WinAPI 一般分为3类:USER函数、GDI函数、Kernel函数 【02:38】GDI --> 物理设备上执行绘图操作 --> win32k.sys 【02:55】win32k.sys 一般我们很少用到,常用的是 ntkrnlpa.exe
阅读全文
摘要:1、 【00:35】本节课 使用VC6 来编写代码 但不用它来编译 【01:13】Win32控制台的空工程 mini_ddk 【01:45】把 第9课 的代码 copy进来...(3个文件 都要) 【02:02】将 mini_ddk.c文件 添加到工程里面 【02:25】将 DriverEntry函
阅读全文
摘要:1、 【01:55】.c 后缀名的文件,入口函数DriverEntry() 的默认调用方式是 _stdcall 。 .cpp的话,入口函数DriverEntry() 的默认调用方式是 _cdecl 。 【02:30】入口函数DriverEntry() 必须是以 _stdcall 来传递参数的 【03
阅读全文
摘要:ZC: 郁金香驱动 [00:50] 创建空的VC6(Console Application)空工程(test_z_event),将 "??\WINDDK\3790.1830\src\general\event\sys" 下的全部文件 copy到 工程(test_z_event)中 [01:30] 对
阅读全文

浙公网安备 33010602011771号