ZwCreateThread/RtlCreateUserThread как получить доступ с драйвера

Тема в разделе "WASM.NT.KERNEL", создана пользователем XshStasX, 8 ноя 2010.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Как вызвать из драйвера ZwCreateThread/RtlCreateUserThread
    обьявлял как :
    Код (Text):
    1. extern"C"{
    2. NTSYSAPI
    3. NTSTATUS
    4. NTAPI
    5. RtlCreateUserThread(
    6.     HANDLE Process,
    7.     PSECURITY_DESCRIPTOR ThreadSecurityDescriptor,
    8.     BOOLEAN CreateSuspended,
    9.     ULONG StackZeroBits,
    10.     SIZE_T MaximumStackSize OPTIONAL,
    11.     SIZE_T InitialStackSize OPTIONAL,
    12.     PUSER_THREAD_START_ROUTINE StartAddress,
    13.     PVOID Parameter,
    14.     PHANDLE Thread,
    15.     PCLIENT_ID ClientId
    16.     );
    17.  
    18. NTSYSAPI
    19. NTSTATUS
    20. NTAPI
    21. ZwCreateThread (
    22.     __out PHANDLE ThreadHandle,
    23.     __in ACCESS_MASK DesiredAccess,
    24.     __in_opt POBJECT_ATTRIBUTES ObjectAttributes,
    25.     __in HANDLE ProcessHandle,
    26.     __out PCLIENT_ID ClientId,
    27.     __in PCONTEXT ThreadContext,
    28.     __in PINITIAL_TEB InitialTeb,
    29.     __in BOOLEAN CreateSuspended
    30.     );
    31. };
    при вызове линкер ругается на неизвестные имена.

    Или нужно самомому в ntdll искать их адрес а потом уже вызывать ?
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Ну тут два варианта: либо взять ntdll.lib (в WDK есть) и подключить к проекту, либо найти базу ntdll.dll в памяти, распарсить экспорты и найти адреса функций. Ничего сложного, в общем-то.
     
  3. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    x64
    спасибо :)

    А что в lib файле содержится ?
     
  4. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Static library