能力值:
( LV2,RANK:10 )
|
-
-
2 楼
自己顶一下.....
|
能力值:
( LV7,RANK:100 )
|
-
-
3 楼
eprocess里面有....
|
能力值:
( LV9,RANK:380 )
|
-
-
4 楼
EPROCESS ----》 ActiveProcessLinks
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
#include "Driver.h"
char* GetAllProcessListName(ULONG);
#pragma INITCODE
VOID getProccess()
{
ULONG Address;
ULONG oldAddress;
Address = (ULONG)PsGetCurrentProcess();
Address += 0x88;
oldAddress = Address;
char *processName;
LIST_ENTRY* listEntry;
do
{
processName = GetAllProcessListName(Address);
if(!strcmp(processName, "XXXXXXXX")) //you processname
{
KdPrint(("this is my process :%s exis!\n",processName));
}
Address = *(ULONG*)Address;
}while(oldAddress != Address);
}
char* GetAllProcessListName(ULONG Address)
{
Address -= 0x88;
ULONG PID;
char *processName;
PID = *(int*)(Address + 0x84);
processName = (char*)(Address + 0x174);
return processName;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
EPROCESS读偏移不好,长度有限,而且相当不可靠,硬要用这个方法至少应该取要找的目标进程的固定特征来对比,论坛里有动态监视进程创建的,建议参考!
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
好像在哪听过:
获取当前eprocess, 然后从eprocess地址开始搜索进程名,就算出偏移了.
|
|
|