Re[6]: проблема с ZwOpenProcess
От:
Аноним
Дата: 01.12.06 20:52
Оценка:
создал нить с процедурой KillProcess
теперь бсод не вылетает, вообще ничего не вылетает, ни ошибки и ничего вообще(
[code]
VOID KillProcess(PVOID pContext)
{
try
{
NTSTATUS ntTerminateStatus;
HANDLE hProcessHandle = NULL;
ACCESS_MASK DesiredAccess = PROCESS_ALL_ACCESS;
OBJECT_ATTRIBUTES ObjectAttributes;
CLIENT_ID ClientId;
InitializeObjectAttributes(&ObjectAttributes, NULL, OBJ_KERNEL_HANDLE, NULL, NULL);
ClientId.UniqueProcess = 2928;
ClientId.UniqueThread = 0;
if (!(fNtOpenProcess = FindFunc(FindNT(), "ZwOpenProcess"))) goto _exit;
if (!(fNtTerminateProcess = FindFunc(FindNT(),"ZwTerminateProcess"))) goto _exit;
DbgPrint("fNtOpenProcess: %X\n", fNtOpenProcess);
DbgPrint("fNtTerminateProcess: %X\n", fNtTerminateProcess);
//тут всё работаит
ntTerminateStatus = fNtOpenProcess(&hProcessHandle, DesiredAccess, &ObjectAttributes, &ClientId);
//вылетает х.з. куда на этом месте, причём обработчик молчит
DbgPrint("ntTerminateStatus == %d\n", ntTerminateStatus);
if (ntTerminateStatus == STATUS_SUCCESS)
{
DbgPrint("OPENNNNNNNNNNPROCESSSSS OK\n");
ZwClose(hProcessHandle);
} else DbgPrint("Error OpenProcess\n");
} except (EXCEPTION_EXECUTE_HANDLER){DbgPrint("EXCEPTION_EXECUTE_HANDLER KillProcess\n");}
_exit:
PsTerminateSystemThread(STATUS_SUCCESS);
return;
}
[code]
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить