avatar
Articles
188
Tags
78
Categories
17

Theqiqi_blog
Search

Theqiqi_blog

windows驱动开发34.kmdf驱动框架最小模板
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include <ntddk.h>#include <wdf.h>DRIVER_INITIALIZE DriverEntry;EVT_WDF_DRIVER_UNLOAD MyEvtDriverUnload; // 卸载函数(KMDF 风格)EVT_WDF_DRIVER_DEVICE_ADD MyEvtDeviceAdd; // 必须定义,但可以不创建设备// 驱动卸载回调VOID MyEvtDriverUnload(_In_ WDFDRIVER Driver){ UNREFERENCED_PARAMETER(Driver); KdPrint(("qi: KMDF Driver Unload!\n"));}// 添加设备回调(必须提供,即使什么都不做)NTSTATUS MyEvtDeviceAdd( _In_ W ...
windows驱动开发33.C++编写驱动程序
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
C++编写驱动程序1234567891011121314151617181920#include <ntddk.h>// 宏定义改为 C++ 风格#define Log(x) DbgPrint("qi:" x)// DriverUnload 必须使用 extern "C"extern "C"void UnloadDriver(PDRIVER_OBJECT DriverObject){ Log("Unloaded Successfully!\n");}// DriverEntry 也必须使用 extern "C"extern "C"NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath){ DriverObject->DriverUnload = UnloadDriver; Log("Loade ...
windows驱动开发32.dump进程与进程模块
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
用户模式下dump进程内存dump完整进程内存12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include <windows.h>#include <dbghelp.h>#include <stdio.h>#pragma comment(lib, "dbghelp.lib")BOOL CreateMiniDump(DWORD dwPID, const char* szDumpFilePath){ HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID); if (hProcess == NULL) { printf("无法打开进程 %d,错误码:%d\n", dwPID, GetLastE ...
windows驱动开发31.隐藏进程,通过Hook SSDT表中的NtQuerySystemInformation函数隐藏进程信息
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
隐藏进程,通过Hook SSDT表中的NtQuerySystemInformation函数隐藏进程信息123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162#include <ntifs.h>#include "C:\D\test\CC++\cc++lib\driver\de ...
windows驱动开发30.保护进程,通过Hook SSDT表中的NtOpenProcess函数来保护进程不被读写
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
Hook SSDT表中的NtOpenProcess函数123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120#include <ntifs.h>#include "C:\D\test\CC++\cc++lib\driver\def.h"VOID GetSSDT0(PVOID* addr);BOOLEAN HookSSDT_On(PVOID newfunc, PVOID hkfunc, PVOID* oldbase, PULONG oldoffset);VOID HookSSDT_Off(PVOID oldbase ...
windows驱动开发29.遍历SSDT列表
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
遍历SSDT列表 def.h 参考之前的关于未导出结构体的文章 entry.c 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384#include "C:\D\test\CC++\cc++lib\driver\def.h"VOID TestEnumSSDT();VOID GetSSDT(PVOID* addr);NTSTATUS DriverUnload(PDRIVER_OBJECT pdriver){ DbgPrint("unload...\n"); return STATUS_SUCCESS;}static PDRIVER_OBJECT g_pdriver = NULL;NTSTATUS DriverEntry(PDRIVER_OBJECT pdrive ...
windows驱动开发28.驱动中apc注入
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
apc注入1.entry.c1234567891011121314151617181920//entry.c#include "Inject.h"BOOLEAN isdebug = TRUE;NTSTATUS DriverUnload(PDRIVER_OBJECT pdriver){ UnTestInjectAPC(); DebugMessage("unload...\n"); return STATUS_SUCCESS;}PDRIVER_OBJECT g_DriverObject = NULL;NTSTATUS DriverEntry(PDRIVER_OBJECT pdriver, PUNICODE_STRING path){ pdriver->DriverUnload = DriverUnload; DbgPrint("loading...\n"); g_DriverObject = pdriver; TestInjectAPC(); return STATUS_SUCCESS; ...
windows驱动开发27.获取特定模块下的导出函数地址
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
获取特定模块下的导出函数地址 NativeStructs.h NativeStructs.h需要在网上下载,或者复制前一篇文章的代码。 entry.c 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110#include <ntifs.h>#include <windef.h>#include "C:\D\test\CC++\cc++lib\driver\NativeStructs.h"#define Log(X) DbgPrint("qi:"X##)// 获取特定模块下的导出函数地址PVOID GetModuleExportAdd ...
windows驱动开发26.常用的未导出的结构体与函数
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
未导出的结构体与函数1.PEStructs.h123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 ...
windows驱动开发25.枚举进程信息,例如获取特定进程内特定模块的基址
Created2025-03-13|Drvier|C•Drvier•WindowsDriver
获取特定进程内特定模块的基址写法一遍历驱动模块需要用到一些未导出的函数与结构体定义 entry.c 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184#incl ...
123…19
avatar
Theqiqi
Articles
188
Tags
78
Categories
17
Follow Me
Announcement
This is my Blog
Recent Post
4.QT使用https协议通信2025-03-23
3.QT使用http协议通信2025-03-23
1.QT使用udp通信2025-03-23
1.QT使用udp通信2025-03-23
windows驱动开发40.用户层与驱动层的其他通信方式2025-03-13
Categories
  • C++Socks4
  • C++Windows+Graphi9
  • C+Socks16
  • C+Sound10
  • C语言在Windows中实现抓包4
  • C语言的万种用法9
  • Debian1
  • Drvier40
Tags
Drvier Http c语言的万种用法 jsp x86汇编程序 GDI ISO Direct3D9 Direct2D IPV4 genisoimage TCP windows driver MySql BSD Sockets Disk C Npcap DriverMonitor ipv6 android Socks5 cmake ipv4 OpenGl first pragram UDP Qt6 Socket termux System UltraISO WindowsDrive Qt MFC Cmake Ipv6 WinSock Graphi rufus
Archives
  • March 202544
  • February 202523
  • September 20242
  • August 202470
  • June 20242
  • March 20245
  • February 20248
  • October 20231
Info
Article :
188
UV :
PV :
Last Update :
©2020 - 2025 By Theqiqi
Framework Hexo|Theme Butterfly
Search
Loading the Database