内核驱动程序中获取当前用户进程的进程名的方法
2009-03-30 16:46
363 查看
驱动程序的加载函数DriverEntry是运行在System进程中的.通过PsGetCurrentProcess可以获取System进程的内核EPROCESS结构的地址,然后从该地址开始寻找"System"字符串.找到后,便是EPROCESS的进程名存放的偏移处.得到进程名在EPROCESS结构的偏移后,以后的进程调用驱动的时候,就可以直接在该偏移处获取当前进程名.代码如下:
DWORD GetProcessNameOffset()
2
BOOL GetProcessName( PCHAR theName )
{
PEPROCESS curproc;
char *nameptr;
ULONG i;
KIRQL oldirql;
if( gProcessNameOffset )
{
curproc = PsGetCurrentProcess();
nameptr = (PCHAR) curproc + ProcNameOffset;
strncpy( theName, nameptr, NT_PROCNAMELEN );
theName[NT_PROCNAMELEN] = 0; /**//* NULL at end */
return TRUE;
}
return FALSE;
}
regmon中使用的就是这种方法。
DWORD GetProcessNameOffset()
2
BOOL GetProcessName( PCHAR theName )
{
PEPROCESS curproc;
char *nameptr;
ULONG i;
KIRQL oldirql;
if( gProcessNameOffset )
{
curproc = PsGetCurrentProcess();
nameptr = (PCHAR) curproc + ProcNameOffset;
strncpy( theName, nameptr, NT_PROCNAMELEN );
theName[NT_PROCNAMELEN] = 0; /**//* NULL at end */
return TRUE;
}
return FALSE;
}
regmon中使用的就是这种方法。
相关文章推荐
- 内核驱动程序中获取当前用户进程的进程名的方法
- 内核驱动程序中获取当前用户进程的进程名的一种方法
- 解析Linux内核获取当前进程指针的方法 [原]
- 在程序中获取当前用户信息的方法
- 解析Linux内核获取当前进程指针的方法
- 解析Linux内核获取当前进程指针的方法
- 解析Linux内核获取当前进程指针的方法
- C#获取当前程序运行路径的方法集合//获取当前进程的完整路径
- 解析Linux内核获取当前进程指针的方法
- C#获取当前程序运行路径的方法集合
- C#获取当前活动窗口进程、进程ID、程序路径
- 获取JAVA当前进程PID的两种方法
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 回收进程用户/内核资源
- Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法
- C#获取本执行程序所在的当前路径的方法
- android中获取当前程序路径等方法
- Sun的JDK里获取当前进程ID的方法(hack)
- linux 内核进程与用户进程的通信 方法一 使用sockopt与内核交换数据
- ASP.NET获取当前用户的方法属性大整合
- NET下获取程序当前路径的集中方法