Пакер для PE-модуля драйвера

Тема в разделе "WASM.NT.KERNEL", создана пользователем 0x6b65, 12 ноя 2009.

Статус темы:
Закрыта.
  1. 0x6b65

    0x6b65 Забанен

    Публикаций:
    0
    Регистрация:
    8 окт 2009
    Сообщения:
    92
    Добрый день всем.
    Кто что использует для упаковки своих драйверов (если можно, то с аргументами)? Какие упаковщики вообще нормально работают с native-PE'шниками драйверов?
     
  2. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    Тебе нужно в раздел wasm.offline. Или просто воспользуйся поиском по форуму, и получи ответ на свой вопрос.
     
  3. Coderess

    Coderess New Member

    Публикаций:
    0
    Регистрация:
    28 окт 2008
    Сообщения:
    41
    Сейчас разрабатываю криптер для драйверов, на мой взгляд PE формате ни чем не отличается, за исключением нескольких правил, разница между sys и exe помоему
    уже была освещена на форуме. Стоит самому по-разбирать формат PE.
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Coderess
    не встречал, наверняка будет много тонкостей загрузки, которые нужно учесть в драйвере
     
  5. dendi

    dendi New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    233
    Никакой существенной разницы нет. Для импортов (ядро и хал) есть MmGetSystemRoutineAddress, образ надо ложить в NonPagedPool (смотря по флагам секций естественно), для чексуммы MapFileAndCheckSum, вызыв OEP как DriverEntry.
     
  6. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    разница только в том что с драверами проще
     
  7. 0x6b65

    0x6b65 Забанен

    Публикаций:
    0
    Регистрация:
    8 окт 2009
    Сообщения:
    92
    разбором PE-формата упаковщики не ограничиваются. А сейчас ловить глюки с упаковщиком не хочу, нужно отлаживать свои :)

    ну и в каком сейчас он состоянии? будет ли там поддержка PE64?
     
  8. dendi

    dendi New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    233
    > ну и в каком сейчас он состоянии? будет ли там поддержка PE64?
    Он же сказал "разрабатываю", а не "пишу" :)
     
  9. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    и не забыть проверить работоспособность SEH
     
  10. Guest

    Guest Guest

    Публикаций:
    0
    Грузить в Pool вариант хороший и рабочий, но Pool'ы легко проверяются, об этом писали uninformed, поэтому сигнатуры лучше почистить сразу, это как минимум для криптора под свой дров, а для широкого применения этого делать нельзя с целью сохранения работоспособности, как следствие метод слегка палевый (спец. тулзами ессно, а не АВ). Не факт еще что удастся выделить Pool область, нужен обработчик исключения.
    Другой вариант это писать вместо тела самого пакера указав виртуальный размер с запасом и установив правильные атрибуты, т.е. на место упакованных данных и загрузчика в секцию встанет распакованный образ.
    Настройка импорта дело не простое, т.к. имя ядра это не kernel32.dll, а возможны 4 варианта, в зависимости от включенного PAE и режима мультипроцессорности, поэтому если в импорте ntoskrnl, то его нужно обрабатывать по особому.
    Есть некоторые сложности с SEH причем зависит от конкретной реализации винды.
     
  11. dendi

    dendi New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    233
    > и не забыть проверить работоспособность SEH
    Можно пройти по релокам и изменить адрес обработчика.
     
  12. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Можно и без релоков еще с десяток _дебильных_ способов придумать ;)
     
  13. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    А по-моему, MmGetSystemRoutineAddress без разницы какое имя ядра=)
     
  14. HQ

    HQ New Member

    Публикаций:
    0
    Регистрация:
    6 дек 2009
    Сообщения:
    10
    J0E, предлагай умный способ (мы же знаем что ты знаешь).
     
  15. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Вы, как посмотрю, и зарегистрировались специально дабы проверить навыки социнженерии? :) Впрочем, раз знаете, то и доказывать мне ничего не надо :)) Меняйте адрес обработчика и не грузите себя релоками.
     
  16. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    гениально
     
  17. HQ

    HQ New Member

    Публикаций:
    0
    Регистрация:
    6 дек 2009
    Сообщения:
    10
    Жой, а как ты собираешься адрес менять если это не секрет?
     
  18. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Сначала разобраться откуда и как этот адрес берется, а потом должно стать понятно.
     
  19. reader323

    reader323 New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2009
    Сообщения:
    134
    Гениальнобл!
     
  20. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Уже поняли, как? :) С определением можно поспорить, предпочитаю называть способ "простейший" :)
     
Статус темы:
Закрыта.