перехват NtOpenProcess

Тема в разделе "WASM.ASSEMBLER", создана пользователем Boola, 4 апр 2006.

  1. Boola

    Boola New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2004
    Сообщения:
    24
    Адрес:
    Russia
    Перехватываю NtOpenProcess путем подмены адреса в SST,

    пытаюсь определить имя создаваемого процесса и имя создателя потока. Делаю следующие:



    start_hook:

    mov eax, [esp+30h] ; - eax - addr ClientID

    mov eax, [eax] ; - eax - UniqueProcess

    mov dwProcessId, eax ; - ProcessID создавемого процесса



    ;получаю указатель на объект "процесс" создаваемого процесса

    push eax

    invoke PsLookupProcessByProcessId, dwProcessId, esp

    pop peProcess



    ;получаю указатель на объект "процесс" создателя

    invoke IoGetCurrentProcess



    Возможно я что-то не так понял, вообщем в некоторых случаях указатели на объекты создоваемого и создателя совпадают при этом поле DesiredAccess содержит одинаковые значения 0410h, т.е. непонятно какой процес является родителем.
     
  2. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    PsGetCurrentProcess() - кто открывает

    PsLookupProcessByProcessId(ClientId->UniqueProcess,..) - кого открывают.



    А если совпадают значит сам себя открывает ...
     
  3. Boola

    Boola New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2004
    Сообщения:
    24
    Адрес:
    Russia
    MegaZu

    "А если совпадают значит сам себя открывает ..."

    хотелось бы знать зачем, я так понимаю для получения инфы о себе или что-то еще? (кстати при этом ClientId->UniqueThread = NULL)



    И еще вопрос - как узнать с какими параметрами был запущен процес? Скажем запускаем с командной строки far.exe -r, как узнать адрес командной строки?
     
  4. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Boola



    Поюзай поиск, эта тема уже поднималась кучу раз
     
  5. Denis__

    Denis__ New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2006
    Сообщения:
    56
    Скажите, пожалуйста, что находится в esp, если в [esp+30h] находится указатель на структуру ClientID.



    Boola

    Оствь если можешь мыло, есть еще пару вопросов.
     
  6. Boola

    Boola New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2004
    Сообщения:
    24
    Адрес:
    Russia
    Denis__

    Скажите, пожалуйста, что находится в esp, если в [esp+30h] находится указатель на структуру ClientID.



    в esp адрес возврата из процедуры, которая вызывала NtOpenProcess



    ICQ: 306527223
     
  7. Boola

    Boola New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2004
    Сообщения:
    24
    Адрес:
    Russia
    упс извиняйте, я наврал, у меня там такой код



    pushad

    mov eax,[esp+30h]

    mov eax,[eax]



    в данном случае [esp]=edi