Перехват NtCreateProcessEx через SDT

Тема в разделе "WASM.WIN32", создана пользователем neocoder, 16 фев 2006.

  1. neocoder

    neocoder New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2006
    Сообщения:
    2
    Адрес:
    Belarus
    Перехватываю NtCreateProcessEx патчингом SDT.

    функция обработчик выглядит примерно следующим образом:
    Код (Text):
    1.  
    2. NTSTATUS NewNtCreateProcessEx
    3. (...){
    4.       ANSI_STRING ansiStr;
    5.     char        str[100];
    6.       PUNICODE_STRING puname;
    7.     NTSTATUS stat;
    8.     ...
    9.     if ((PULONG)ObjectAttributes > MmUserProbeAddress) return STATUS_INVALID_PARAMETER;
    10.    
    11.     __try
    12.     {
    13.             puname = ObjectAttributes->ObjectName;
    14.     }
    15.     __except(EXCEPTION_EXECUTE_HANDLER)
    16.     {
    17.         DPRINT("Exception");
    18.         return STATUS_INVALID_PARAMETER;
    19.       }
    20.       ...
    21.  
    22.       return TrueNtCreateProcessEx(...);
    23.      }
    24.  




    Вопрос: Почему не получается получить ObjectName? Всегда вылетает exception. Похожий код работает при перехвате OpenProcess(код из статьи Ms-Rem'а). Там ClientId->UniqueProcess успешно достается, а здесь...
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    А потому что нету имени :)
     
  3. neocoder

    neocoder New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2006
    Сообщения:
    2
    Адрес:
    Belarus
    В статье Gloomy "Дизасемблирование CreateProcess" было написано,что ObjectAtributes заполняется задолго да вызова NtCreateProcess, по моему еще в Ring3. Т.е. при ee (NtCreateProcess) перехвате через SDT эта структура уже должна быть заполнена. Или я не прав? И если не прав, то как перехватить NtCreateProcess и получить имя создаваемого процесса(имя exe файла)?
     
  4. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257




    Нету имени, или нету поля ObjectName в структуре ObjectAttributes ?