The Kernel-Bridge Framework

Тема в разделе "WASM.PROJECTS", создана пользователем HoShiMin, 18 ноя 2018.

  1. Andrey333

    Andrey333 Member

    Публикаций:
    0
    Регистрация:
    30 янв 2020
    Сообщения:
    35
    HoShiMin. Подключаю либу: Linker -> Input -> Additional Dependencies = ntoskrnl.lib. В коде: #include <ntddk.h> и просто вызываю функции.
     
  2. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Куда подключаешь ntoskrnl.lib? Ты же в юзермоде готовишь образ. Покажи код.
     
  3. Andrey333

    Andrey333 Member

    Публикаций:
    0
    Регистрация:
    30 янв 2020
    Сообщения:
    35
    В драйвер который пытаюсь загрузить. Приаттачен к #219.
    А разве образ нужно готовить. KbRtlMapDriverFile из User-Bridge.dll как пользоваться?
    Код (Text):
    1.  
    2.     const KbLdrStatus LdrResult = KbRtlMapDriverFile(
    3.         L"C:\\DRVLOAD\\TestDriver.sys", L"TestDriver");
    4.     if (KbLdrSuccess != LdrResult) {
    5.         PRINT_CODE("KbRtlMapDriverFile", LdrResult);
    6.         return false;
    7.     }
    8.  
     
  4. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
  5. Andrey333

    Andrey333 Member

    Публикаций:
    0
    Регистрация:
    30 янв 2020
    Сообщения:
    35
    Посмотрел в отладчике. Не находит DbgPrint (первый вызов GetKernelProcAddress).

    Если в RAX после вызова GetKernelProcAddress подсунуть фиктивный адрес за место DbgPrint. Последующий вызов GetKernelProcAddress для RtlAssert так же неудачен.
     
  6. cddee3

    cddee3 Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2020
    Сообщения:
    55
  7. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Глянул, но здесь построитель гаджетов, а я просто даю юзермодный интерфейс для ядерных функций - у меня проект больше похож на BlackBone.
    А он хоть что-нибудь вообще находит?
    Попробуй получить адрес какой-нибудь ZwAllocateVirtualMemory.
    И посмотри, что вернёт GetLastError после DeviceIoControl'а.
    Драйвер успешно запустился? Попробуй выполнить какую-нибудь другую функцию оттуда.
     
  8. Andrey333

    Andrey333 Member

    Публикаций:
    0
    Регистрация:
    30 янв 2020
    Сообщения:
    35
    Да. Драйвер загружен. Проверял.
    Позже буду разбирать. Сейчас туго со временем. Пока что использую win64ast. Он с моим драйвером справляется.