能力值:
( LV6,RANK:80 )
|
-
-
2 楼
不错不错,多谢了,
LZ的TDI过滤驱动,进展如何了?
|
能力值:
( LV6,RANK:80 )
|
-
-
3 楼
不错不错,多谢了,
LZ的TDI过滤驱动,进展如何了?
|
能力值:
( LV12,RANK:210 )
|
-
-
4 楼
继续弄啊
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
围观中.......
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
好东西,谢谢了,收藏
|
能力值:
( LV9,RANK:380 )
|
-
-
7 楼
我贴一个吧,由EPROCESS得到进程全路径,网上找的:
PVOID pCurProcess;
ULONG pCurProcess_offset;
POBJECT_NAME_INFORMATION pObjNameInfo =NULL;
static size_t s_cf_proc_name_offset = 0;
void cfCurProcNameInit() //这个函数放在DriverEntry中执行才有效果
{
ULONG i;
PEPROCESS curproc;
curproc = PsGetCurrentProcess();
// 搜索EPROCESS结构,在其中找到字符串
for(i=0;i<3*4*1024;i++)
{
if(!strncmp("System",(PCHAR)curproc+i,strlen("System")))
{
s_cf_proc_name_offset = i;
DbgPrint("s_cf_proc_name_offset: %x\n",s_cf_proc_name_offset);
break;
}
}
}
pCurProcess = PsGetCurrentProcess();
pCurProcess_offset = s_cf_proc_name_offset + 0x80; //SE_AUDIT_PROCESS_CREATION_INFO SeAuditProcessCreationInfo = s_cf_proc_name_offset + 0x80;
pObjNameInfo = *(POBJECT_NAME_INFORMATION *)((DWORD)pCurProcess+pCurProcess_offset);
if(MmIsAddressValid(pObjNameInfo)) //地址有效,有时候,有时候pObjNameInfo会是NULL,所以要做检查
{
DbgPrint("processoffset %x processname: %ws\r\n",pCurProcess_offset,pObjNameInfo->Name.Buffer);
}
|
能力值:
( LV15,RANK:340 )
|
-
-
8 楼
很实用的几个函数啊,比如那个 GetFullPathBySectionHandle()
先收下了,也许以后用得着
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
先收下了,也许以后用得着........
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
SHARE精神赞美一个!
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
还是用现成的函数保险
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
不错,学习了
|
|
|