-
-
[求助]给植物大战僵尸加个NtOpenProcess的保护,找不到进程,帮我看看啊 大牛
-
发表于:
2012-6-7 08:53
4882
-
[求助]给植物大战僵尸加个NtOpenProcess的保护,找不到进程,帮我看看啊 大牛
//新的NtOpenProcess
NTSTATUS __stdcall MyNtOpenProcess(OUT PHANDLE ProcessHandle,
IN ACCESS_MASK AccessMask,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN PCLIENT_ID ClientId)
{
NTSTATUS status;
ULONG notepadId;
CHAR *TerminateName = "PlantsVsZombies.exe"; //如果是notepad.exe就可以保护起来 ,植物大战僵尸的进程就不行,这是为什么?
int isEqul;
//首先调用原始函数获取信息做比对
status = (NTSTATUS)(NTOPENPROCESS)RealNtOpenProcess(ProcessHandle,AccessMask,ObjectAttributes,ClientId);
if(ClientId != NULL)
{
isEqul = strcmp(GetCurrentProcessName(ClientId),TerminateName);
if(isEqul == 0)
{
//正在试图NtOpenProcess notepad.exe ,让进程句柄为null 防止对其操作
DbgPrint("find game!");
ProcessHandle = NULL;
status= STATUS_ACCESS_DENIED;
}
}
return status;
}
//获取NtOpenProcess当前打开的进程的名称
CHAR *GetCurrentProcessName(PCLIENT_ID ClientId)
{
NTSTATUS status;
PEPROCESS process;
status = PsLookupProcessByProcessId(ClientId->UniqueProcess,&process);
return PsGetProcessImageFileName(process);
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!