随笔分类 - windows driver
摘要:NT式设备驱动程序的动态加载主要是由服务控制管理程序(Service Control Manager,即SCM)系统组件来完成的。 Windwos服务可以在系统启动时加载,用户也可以按需在服务控制平台开启或者关闭服务。程序员可以通过Windows提供的相关服务函数进行加载或者卸载该服务等。服务...
阅读全文
摘要:#include "stdafx.h" #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0501 #endif #include #include // BOOL GetPhyDriveSerial(LPTSTR pModelNo, LPTS...
阅读全文
摘要:#ifndef UNICODE#define UNICODE#endif#include #include #define NT_SUCCESS(x) ((x) >= 0)#define STATUS_INFO_LENGTH_MISMATCH 0xc0000004#define SystemHand...
阅读全文
摘要:NtOpenSymbolicLinkObject和NtQuerySymbolicLinkObject获取指定符号链接的信息版权声明:本文为博主原创文章,未经博主允许不得转载。
阅读全文
摘要:#include "stdafx.h"#include #include using namespace std;typedef struct _SYSTEM_HANDLE_STATE { DWORD r1; DWORD GrantedAccess; DWORD H...
阅读全文
摘要:一个内核对象有两个计数器:一个是句柄计数,句柄是给用户态用的;另一个是指针计数,也叫引用计数,因为核心态也常常用到内核对象,为了方便,在核心态的代码用指针直接访问对象,所以Object Manager维护了这个指针引用计数。只有在句柄计数和引用计数都为0时,对象才被释放。一般而言,指针引用计数值...
阅读全文
摘要:#include #include using namespace std;typedef struct _OBJECT_NAME_INFORMATION { WORD Length; WORD MaximumLength; LPWSTR Buffer;} OBJECT_NAME_...
阅读全文
摘要:#include #pragma warning(disable:4995)#pragma comment(lib, "Ntoskrnl.lib")#pragma warning(disable:4995)typedef struct _Device_Extension_{ KTIMER timer...
阅读全文
摘要:windows internals 的中文译本 windows内核原理与实现版权声明:本文为博主原创文章,未经博主允许不得转载。
阅读全文
摘要:http://download.csdn.net/detail/sz76211822/8197619版权声明:本文为博主原创文章,未经博主允许不得转载。
阅读全文
摘要:在Windows NT中,80386保护模式的“保护”比Windows 95中更坚固,这个“镀金的笼子”更加结实,更加难以打破。在Windows 95中,至少应用程序I/O操作是不受限制的,而在Windows NT中,我们的应用程序连这点权限都被剥夺了。在NT中几乎不太可能进入真正的ring0层。...
阅读全文
摘要://如果要做到掉电后仍然可以继续向下操作,可以记录文件的位置重新映射 NTSTATUS status; UNICODE_STRING strFileSrc = RTL_CONSTANT_STRING(L"\\??\\C:\\win7旗舰版.iso");//3.11G UNICODE_STRING s...
阅读全文
摘要:NTSTATUS status; UNICODE_STRING strFileSrc = RTL_CONSTANT_STRING(L"\\??\\C:\\网络调试工具.exe");//几十kb UNICODE_STRING strFileDest = RTL_CONSTANT_STRING(L"\\...
阅读全文
摘要://枚举串口 NTSTATUS status; HANDLE hKey = NULL; OBJECT_ATTRIBUTES oa; UNICODE_STRING strPath = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE\\DEVICE...
阅读全文
摘要:NTSTATUS status; HANDLE hKey = NULL; OBJECT_ATTRIBUTES oa; UNICODE_STRING strPath = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE\\DEVICEMAP\\SE...
阅读全文
摘要:OBJECT_ATTRIBUTES oa; FILE_NETWORK_OPEN_INFORMATION fnoi; UNICODE_STRING strPath = RTL_CONSTANT_STRING(L"\\??\\E:\\安装软件\\win7旗舰版.iso"); LARGE_INTEGER...
阅读全文
摘要:UNICODE_STRING str = {0}; wchar_t strInfo[] = {L"马上就是光棍节了"}; str.Buffer = (PWCHAR)ExAllocatePoolWithTag(NonPagedPool, ArrayLength, 'MY'); str.Length =...
阅读全文
摘要:VOID ThreadStart(_In_ PVOID StartContext){ PWCHAR str = (PWCHAR)StartContext; MySleep(10);//延时10ms KdPrint(("%ws\n", str)); ExFreePool(str); PsTermin...
阅读全文
摘要:#define Delay_One_MicroSecond (-10)#define Delay_One_MilliSecond (Delay_One_MicroSecond * 1000)void MySleep(LONG msec){ LARGE_INTEGER li; li.QuadPart ...
阅读全文
摘要:HANDLE hFile; OBJECT_ATTRIBUTES oa; IO_STATUS_BLOCK iosb; LARGE_INTEGER li; UNICODE_STRING strPath = RTL_CONSTANT_STRING(L"\\??\\E:\\123.txt"); UNICOD...
阅读全文

浙公网安备 33010602011771号