PsGetProcessSectionBaseAddress

Тема в разделе "WASM.NT.KERNEL", создана пользователем rttgedt, 31 авг 2011.

  1. rttgedt

    rttgedt Антон

    Публикаций:
    0
    Регистрация:
    12 окт 2010
    Сообщения:
    85
    Как правильно объявить эту функцию?
    Сейчас так:
    NTKERNELAPI PVOID PsGetProcessSectionBaseAddress(__in PEPROCESS Process);

    Линкер кричит про unresolved external symbol. ntoskrnl.lib подключен..

    P.S. речь про Visual Studio 2008
     
  2. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Если подключили все правильно, то возможно у вас действительно нет такого символа.
    Того два выхода:
    1. LoadLibrary
    2. На сколько я понимаю эта функция берет поле структуры Process.
     
  3. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Ведь забаню же.
    Не доводи до греха.
    Функция MmGetSystemRoutineAddress().

    Да, и что?
    Зашивать смещения и назад в 90-е?
     
  4. x64

    x64 New Member

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

    Код (Text):
    1. //
    2. // Returns base addreess of the main executable
    3. // image for the specified process.
    4. //
    5.  
    6. PVOID
    7. PsGetProcessSectionBaseAddress (
    8.     IN PEPROCESS Process);
    Лично я драйвера в студии никогда не собирал, а с WDK у меня всё работает корректно.
     
  5. rttgedt

    rttgedt Антон

    Публикаций:
    0
    Регистрация:
    12 окт 2010
    Сообщения:
    85
    Всем спасибо за ответы, буду собирать теперь с помощью WDK ))
     
  6. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Ой, в голове что-то переклинило, сам с утра перечитал ужаснулся.