Несколько вопросов по эспорту

Тема в разделе "WASM.NT.KERNEL", создана пользователем 2FED, 18 мар 2008.

  1. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Не могу найти откуда экспортируется InterlockedAnd, в заголовочных файлах из DDK она есть но в либах нету и нету в драйверных инклудах(от Four-F), в общем откуда её импортировать?

    И ещё вопрос, так же не могу найти NtCreateKey, она определана в ntdll.inc но это же юзерская либа, линкуется нормально но драйвер с ней не запускается, в ntoskrnl.exe почти ко всем Zw идут пары Nt функций а вот NtCreateKey нету, так гдеж её взять?
     
  2. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Тьфу блин, InterlockedAnd оказалась всего последовательностью

    i dd ?
    ..
    xor eax, eax
    mov ecx, offset i
    lock and [ecx], eax

    А везде блин расписывается как отдельная Api Функция
     
  3. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    RtlCreateRegistryKey или попробуй вызвать NtCreateKey напрямую из SSDT по ее адресу
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    2FED
    Смысл в том что при портировании на 64 бита, тебе нужно будет тока вызвать функцию (а точнее собрать исходник под 64битную среду)... А там уже все портированно ). Так что есть смысл.
     
  5. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    steelfactor RtlCreateRegistryKey к сожелению не подходит.

    Так откуда же она всётаки экспортируется? походу ниокуда, я уже в папке system32 у всех модулей с текстом "NtCreateKey" проверил таблицу экспорта, ни один не экспортирует(ну кроме ntdll.dll). Но тогда возникает вопрос в каком она воабще модуле находится, ntoskrnl.exe? и как её найти по имени?
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    2FED
    В ntdll Nt и Zw варианты, в ядре только Zw (ntos).
     
  7. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    но темнемение если ввести в софтайсе "u NtCreateFile", он покажет начало этой процедуры, только вот не говорит из какого она модуля, отсюда следует что эта процедура всётаки откудато да берётся хоть и (ntos) её и не экспортирует.
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Не все сервисы экспортируются как NtXX. NtCreateKey не экспортируется.
     
  9. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    2FED
    Подробнее у Неббета написано.
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Побыстрому набросал:
     
  11. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    из статьи ms-rem
    но как быть если ntos не экспортирует данную функцию, тот же NtCreateKey. нашел я его в sst а там адрес перехватчика, как узнать реал адрес? антивирус как то узнаёт.
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Адрес ты определяешь из образа ntos. Адрес прочитать не можешь ?
     
  13. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Ну определяю то я его в памяти, в общем я так понял чтобы найти правильный адрес нужно его вытащить из ntos на диске