от имени explorer.exe показать MessageBox(...) из kernel mode

Тема в разделе "WASM.NT.KERNEL", создана пользователем pavel_zp, 22 июл 2007.

  1. pavel_zp

    pavel_zp New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2007
    Сообщения:
    5
    Полная задача такова
    1 найти процесс explorer.exe
    2 от его имени показать MessageBox(...This mess from kernel..).

    процесс нахожу, но вот как от имени explorer.exe показать сообщение из драйвера не знаю.

    Есть ли в kernel mode аналог функций GetModuleHandle and GetProcAddress?
     
  2. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    таких апи нет, но можно вручную найти все, поиск по форуму даст тебе готовые самопальные функции.

    Но сам MessageBox ты не вызовешь напрямую с ядра, можно через APC зделать, если повесить на все потоки то думаю с вероятностью в 99.9% цель будет достугнута.
     
  3. pavel_zp

    pavel_zp New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2007
    Сообщения:
    5
    поиск "АРС" по форуму выводит на смежные вопросы, восновном все говорят мол поищи про АРС. Если можно дайте пожалуйста ссылку на конкретную ветку про АРС (в kernel mode делаю первые шаги, в user mode давно, очень не хватает Win32 API в kernel mode).
     
  4. tinok

    tinok New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2007
    Сообщения:
    26
  5. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    http://wasm.ru/forum/viewtopic.php?id=16630
    http://wasm.ru/forum/viewtopic.php?id=18785
     
  6. pavel_zp

    pavel_zp New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2007
    Сообщения:
    5
    большое спасибо, буду разбираться :)
     
  7. Guest

    Guest Guest

    Публикаций:
    0
    http://www.rootkit.com/newsread.php?newsid=259 - проверено на себе
     
  8. pavel_zp

    pavel_zp New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2007
    Сообщения:
    5
    немного непонятно где (как) я должен описать код функции, которую я хочу вызвать в user mode application,
    по идее я должен выделить в нужном процессе память через ZwAllocateVirtualMemory() : (уже получается) записать туда строки - значения параметров функции MessageBoxExA

    только вот как вызвать этот мессаджбокс и скормить ему выделенную память как параметры

    или прототип функции которую я хочу вызвать надо описать в драйвере?
     
  9. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    pavel_zp
    тебе нужно написать базонезависимый код, тоесть найти адресса всех функций вручную, проверить загружен ли user32.dll если нет то загрузить, найти в ней MessageBoxA, и вызвать с параметрами которые ты пропишешь в коде. Как это зделать на примере смотри по ссылке что дали выше, или на http://www.codeproject.com/useritems/KernelExec.asp
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    1) зачем?
    2) это разве одно и то же?
     
  11. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Что именно "зачем" ?
    Насчет "одно и то же", то этим я хотел направить в нужную сторону.