ICode9

精准搜索请尝试: 精确搜索
  • Windows驱动开发学习2022-05-31 21:34:44

    链表的使用 main.h #pragma once #include<ntddk.h> typedef struct _MYDATA { LIST_ENTRY ListEntry; DWORD64 Id; UNICODE_STRING Name; }MYDATA,*PMYDATA; extern "C" { VOID DrvUnload(IN PDRIVER_OBJECT pDriver); NTSTATUS DriverEntry(IN PDRIVER_OBJ

  • 系统调用篇——总结与提升2022-01-21 19:32:46

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信

  • wdm2021-12-31 07:03:06

    WDM是英文Windows Driver Model(WDM)的缩写 #include "usbdlib.h" DriverEntry NTSTATUS 返回状态   AddDevice函数是WDM驱动特有的,NT驱动没有,这也是主要的区别之一   https://blog.csdn.net/weixin_30852451/article/details/99182762  派遣函数   

  • 驱动测试开发源码-42021-08-05 21:01:33

    #include <wdm.h> NTSTATUS DriverUnload(PDRIVER_OBJECT driver) { UNREFERENCED_PARAMETER(driver); DbgPrint("Unload driver"); return STATUS_SUCCESS; } NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING regpath) { UNREFEREN

  • WinAPI ZwQuerySystemInformation的简要分析2021-04-12 12:05:55

    NTSTATUS WINAPI ZwQuerySystemInformation(                        _In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,  //枚举类型,用户输入值选择要查询的信息 _Inout_ PVOID SystemInformation,  //缓冲区,用来接

  • 驱动程序与应用程序交互事件对象2020-02-23 18:51:31

    驱动程序代码 #pragma once #define IO_CONTROL_TRANSMIT_EVENT CTL_CODE(FILE_DEVICE_UNKNOWN,0x8080,METHOD_BUFFERED,FILE_ANY_ACCESS) typedef struct _DEVICE_EXTENSION { PDEVICE_OBJECT pDevObj; UNICODE_STRING ustrDeviceName; UNICODE_STRING ustrSymbolLi

  • Windows驱动开发-r3和r0通信2020-02-19 15:04:00

    用户部分代码: int main() { HANDLE hDevice = CreateFile(L"\\\\.\\MyTest", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hDevice==INVALID_HANDLE_VALUE) { printf("Failed to obtain

  • 驱动入门hello代码框架2019-09-25 20:02:44

    #include <ntddk.h> NTSTATUS Unload(PDRIVER_OBJECT driver) { DbgPrint("unload driver"); return STATUS_SUCCESS; } NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING RegPath) { DbgPrint("Driver Entry"); driver->Driv

  • 64位内核开发第十二讲,进程监视,ring3跟ring0事件同步.2019-06-09 16:39:35

    一丶同步与互斥详解,以及实现一个进程监视软件. 1.用于线程同步的 KEVENT 事件很简单分别分为 事件状态. 以及事件类别. 事件状态: 有信号 Signaled 无信号 Non-signaled 事件类别 自动恢复 Synchronization 自动设置 不自动恢复. Notification 手动设置 事件的创建函数 ** IoCreat

  • 64位内核开发第8讲,文件操作.以及删除文件.2019-06-08 15:03:59

    目录 文件操作,以及强删文件. 一丶文件操作 1.文件操作的几种方式 1.2 文件的表示 二丶文件操作的常见内核API 三丶内核中三种定义结构体的方式 四丶驱动创建文件的完整代码示例 4.1.4内核中读文件 4.1.4内核中删除文件的两种方式 文件操作,以及强删文件. 一丶文件操作 1.

  • 64位内核开发第九讲,注册表编程.2019-06-08 15:02:37

    目录 一 注册表编程 二 注册表简介 2.1 ring3注册表 2.2 重启删除原理 三丶注册表API操作 3.1 Reg操作API 四丶注册表操作例子 4.1 ZwCreateKey创建key 2.删除Key 3.查询遍历Key 4.创建并且设置Value的值. 一 注册表编程 二 注册表简介 2.1 ring3注册表 在内核中我们的

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有