Unhook IRP

Тема в разделе "WASM.NT.KERNEL", создана пользователем 8ung, 16 фев 2008.

  1. 8ung

    8ung New Member

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    21
  2. sww_

    sww_ New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2007
    Сообщения:
    155
    В общем случае, для всех возможных драйверов - никак.
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    дизасм + простенький эмулятор
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Зачем эмулятор ?
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Трудно чтоли по списку пройти ?
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    по какому списку?
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    8ung
    посмотреть кому принадлежат DriverObject->MajorFunction[] - драйверу или не драйверу. Это умеет показывать, например, WinObjEx от Four-F.
    Как их узнать - проанализировать DriverEntry, где они, собственно, задаются. Можно даже попробовать ее проэмулировать
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Great
    Могут заполнятся м не в DriverEntry, а в подпроцедуре, поэтому без эмулятора будет сложно, ьем более зачастую оптимизация вмешивается в генерацию кода, и какой элемент заполняется понять сложно обходясь просто дизасмом.
     
  9. sww_

    sww_ New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2007
    Сообщения:
    155
    Эмулятор всегда можно обмануть. Так что универсальный способ не покатит. И заполняются они действительно нетривиально иногда, так что трейсер очень часто не подходит. С эмулятором попроще, но тоже не сладко.
     
  10. ECk

    ECk Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    454
    Адрес:
    Russia
    sww_
    особенно если хуки в адресном же пространстве хукнутого драйвера стоят :) и каждый call хука равнозначен дополнительной вложенности эмулятора, что совсем и совсем не просто в контексте сохранения вложенных бранчей в итоге.
     
  11. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    имхо очень маловероятно, что в драйвере, irp которого хукают встречатся могут антиэмульные триксы.
    ECk
    имеется ввиду не анализ хуков, а анализ заполнения irp-таблицы, драйвером который хукчат, в DriverEntry.
     
  12. sww_

    sww_ New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2007
    Сообщения:
    155
    n0name Ммм... с одной стороны да, врядли там будут антиэмульные триксы на чистой системе, тут я согласен, но есть одно НО: неизвестно что там, допустим к драйверу NTFS зааттачено (и все вплоть до root объекта захучено). Оно может быть уже с антиэмульными триксами, запаковано, заморфировано (сам придумаешь :). А детатчить - стремный вариант.

    ECk
    Да, как заметил n0name мы немножко другое обсуждаем ;) В плане сплайсинга/хука + размещения обработчика внутри можно очень долго разговарить.
     
  13. 8ung

    8ung New Member

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    21
  14. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    8ung
    так же как я и написал тебе %)
    дизасм длин + простенький эмулятор на 10-15 команд.
    Это идеальное решение(имхо для tcpip), Можно еще сделать с пяток грязных решений, типа фингерпринта, смещений, релоков, ...
     
  15. Denwer

    Denwer New Member

    Публикаций:
    0
    Регистрация:
    20 дек 2006
    Сообщения:
    104
    Патался как то сделать с помощью дизасма простого расхучивание мажорных функций, для частных случаев получилось нормально, ну TCP и NTFS/FAT. А вот универсального способа не получится.
     
  16. sww_

    sww_ New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2007
    Сообщения:
    155
    Denwer Вот и у меня есть для частных случаев... Можно, конечно, поизвращаться и что-нить придумать, но не уверен, что выйдет.