Re: проблема с ZwOpenProcess
От: Ligen Украина http://zone-of-ambiguity.blogspot.com/
Дата: 29.11.06 19:23
Оценка:
Некорректная инициализация ObjectAttributes: см пример

/*
ибо:

#define InitializeObjectAttributes( p, n, a, r, s ) { \
    (p)->Length = sizeof( OBJECT_ATTRIBUTES );          \
    (p)->RootDirectory = r;                             \
    (p)->Attributes = a;                                \
    (p)->ObjectName = n;                                \
    (p)->SecurityDescriptor = s;                        \
    (p)->SecurityQualityOfService = NULL;               \
*/

BOOLEAN KillProcess(ULONG PID)
{
    OBJECT_ATTRIBUTES   objectAttributes;
    CLIENT_ID     clientID;
    HANDLE hProcess=NULL;
    NTSTATUS status;

    InitializeObjectAttributes( &objectAttributes, NULL, OBJ_KERNEL_HANDLE, NULL, NULL );

   clientID.UniqueProcess = (HANDLE)PID; 
   clientID.UniqueThread = NULL;

   status = ZwOpenProcess( &hProcess, 
                         PROCESS_TERMINATE, 
                         &objectAttributes, &clientID );
   if (!NT_SUCCESS(status))
   {
            return FALSE;
   }

  status = ZwTerminateProcess(hProcess, 0); 
  ZwClose(hProcess); 
  return TRUE;
}


J>Здравствуйте.


J>У меня возникла проблема с данной функцией, вроде как и вызываю правильно и всёравно БСОД. Помогите пожалуйста.


J>

J>HANDLE hProcessHandle;
J>ACCESS_MASK DesiredAccess = PROCESS_TERMINATE;
J>OBJECT_ATTRIBUTES ObjectAttributes;
J>CLIENT_ID ClientId;

J>ObjectAttributes.Length = 0x18;
J>ObjectAttributes.RootDirectory = 0;
J>ObjectAttributes.ObjectName = 0;
J>ObjectAttributes.Attributes = 0;
J>ObjectAttributes.SecurityDescriptor = 0;
J>ObjectAttributes.SecurityQualityOfService = 0;
J>ClientId.UniqueProcess = 2345;/*тут я ставлю PID существующего процесса*/ 
J>ClientId.UniqueThread = 0;

J>ZwOpenProcess(&hProcessHandle, DesiredAccess, &ObjectAttributes, &ClientId);

J>


J>пробовал любые варианты, всёравно БСОД(((

J>отладчиком пользоваться не могу т.к. на двухядернике айс чтото не очень хочет работать...

J>Заранее Спасибо.
Viva el Junta Militar! Viva el Presidente!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.