
Windows Driver
文章平均质量分 75
Lagon_
这个作者很懒,什么都没留下…
展开
-
ObQueryNameString的使用--WD笔记
MSDN中ObQueryNameString的定义:NTSTATUS ObQueryNameString( IN PVOID Object, OUT POBJECT_NAME_INFORMATION ObjectNameInfo, IN ULONG Length, //If it is zero,ReturnLength receives转载 2014-03-19 12:04:33 · 3177 阅读 · 0 评论 -
SYSENTER和SYSEXIT
SysEnter和SysExit指令是结伴的,但是不是成对的。因为SYSENTER并不会保存任何供SYSEXIT在返回时使用的状态信息。这些指令的目标指令和栈指针不是通过指令操作数在确定的,而是通过几个MSRs(Model-Specific Registers)和几个通用寄存器确定的。SYSENTER通过以下来源获取ring0的目标指令和栈指针:l 目标代码段(CS)——从SYSENTE转载 2014-03-20 19:04:58 · 937 阅读 · 0 评论 -
系统调用计算KiFastCallEntry地址的过程以及由此得到的一种获取KiFastCallEntry地址的方式
SYENTER和SYSEXIT指令首次出现于Pentium II处理器中,其目的是为了提供一个快速(低负载) 的调用操作系统或者执行体过程的机制.SYSENTER用于运行特权级别为3的用户调用特权级0 的系统内核代码。WinDbg中反汇编 KiFastSystemCall可以看到SYSENTER指令。在调用SYSENTER指令前,CPU会通过下面的MSR原创 2014-03-23 00:20:57 · 1893 阅读 · 0 评论 -
Getting DbgPrint Output To Appear In Vista and Later
The problem: Your DbgPrint or KdPrint messages don't appear in WinDbg (or KD) when you run your driver on Windows Vista, Windows 7, or Windows 8.The reason? Versions of Windows starting with Vista转载 2014-04-07 13:12:14 · 1094 阅读 · 0 评论 -
加载驱动程序的代码
#include "windows.h"#include "stdio.h"#include "stdlib.h"BOOL LoadDriver(SC_HANDLE schSCManager, //SCM Handle LPCSTR lpszDriverName, //Driver Name LPCSTR lpszServiceFullPath); //f原创 2014-04-24 12:55:25 · 1360 阅读 · 0 评论