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

Discussion in 'WASM.NT.KERNEL' started by 2FED, Mar 18, 2008.

  1. 2FED

    2FED New Member

    Blog Posts:
    0
    Joined:
    Feb 20, 2008
    Messages:
    1,002
    Не могу найти откуда экспортируется InterlockedAnd, в заголовочных файлах из DDK она есть но в либах нету и нету в драйверных инклудах(от Four-F), в общем откуда её импортировать?

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

    2FED New Member

    Blog Posts:
    0
    Joined:
    Feb 20, 2008
    Messages:
    1,002
    Тьфу блин, InterlockedAnd оказалась всего последовательностью

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

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

    steelfactor New Member

    Blog Posts:
    0
    Joined:
    Apr 26, 2007
    Messages:
    501
    RtlCreateRegistryKey или попробуй вызвать NtCreateKey напрямую из SSDT по ее адресу
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Staff Member

    Blog Posts:
    2
    Joined:
    Jun 11, 2004
    Messages:
    3,568
    Location:
    Russia
    2FED
    Смысл в том что при портировании на 64 бита, тебе нужно будет тока вызвать функцию (а точнее собрать исходник под 64битную среду)... А там уже все портированно ). Так что есть смысл.
     
  5. 2FED

    2FED New Member

    Blog Posts:
    0
    Joined:
    Feb 20, 2008
    Messages:
    1,002
    steelfactor RtlCreateRegistryKey к сожелению не подходит.

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

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    2FED
    В ntdll Nt и Zw варианты, в ядре только Zw (ntos).
     
  7. 2FED

    2FED New Member

    Blog Posts:
    0
    Joined:
    Feb 20, 2008
    Messages:
    1,002
    но темнемение если ввести в софтайсе "u NtCreateFile", он покажет начало этой процедуры, только вот не говорит из какого она модуля, отсюда следует что эта процедура всётаки откудато да берётся хоть и (ntos) её и не экспортирует.
     
  8. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Не все сервисы экспортируются как NtXX. NtCreateKey не экспортируется.
     
  9. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    2FED
    Подробнее у Неббета написано.
     
  10. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Побыстрому набросал:
     
  11. 2FED

    2FED New Member

    Blog Posts:
    0
    Joined:
    Feb 20, 2008
    Messages:
    1,002
    из статьи ms-rem
    но как быть если ntos не экспортирует данную функцию, тот же NtCreateKey. нашел я его в sst а там адрес перехватчика, как узнать реал адрес? антивирус как то узнаёт.
     
  12. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Адрес ты определяешь из образа ntos. Адрес прочитать не можешь ?
     
  13. 2FED

    2FED New Member

    Blog Posts:
    0
    Joined:
    Feb 20, 2008
    Messages:
    1,002
    Ну определяю то я его в памяти, в общем я так понял чтобы найти правильный адрес нужно его вытащить из ntos на диске