Опять о старом, перехват API функций!

Тема в разделе "WASM.WIN32", создана пользователем LuckyDevil, 6 фев 2012.

  1. LightMoon

    LightMoon New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2012
    Сообщения:
    73
    shchetinin
    Вы изначально сказали про конкретный модуль с конкретной апи, теперь всякие шимы, аверы и прочее. Если содержимое апи меняется, то очевидно нужно его похачить раньше, до его вызова.
     
  2. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    LightMoon
    аверы сдесь не причем. Вы как всегда сначало сказали ответ а потом уже подумали о задачи.

    Или делать проще патчить функию ... И не надо не чего придумывать.
     
  3. LightMoon

    LightMoon New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2012
    Сообщения:
    73
    shchetinin
    Да, стать сопливым школьником и патчить, патчить!11
     
  4. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    LightMoon
    Ну вот зачем вы добовляете амбиции ? Давайте трезво рассуждать... Всему есть свое предназночения ...
     
  5. Charlief

    Charlief New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2010
    Сообщения:
    129
    А если нужно перехватить функцию которая:
    1. не обращается ни к куче
    2. ни к каким данным изменив которые можно было бы вызвать исключение
    3. может вызваться из непредсказуемого места и в непредсказуемый момент времени из-за сложности анализа самой программы
    4 к тому же она не вызывает никаких функций указаных в пунктах 1, 2, 3, а только системные вызовы.
    Известно только расположение кода этой функции. Как её перехватить кроме сплайсинга и не используя отладчик, и в юзер моде ? Наверное это нерешаемая задача.
     
  6. Charlief

    Charlief New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2010
    Сообщения:
    129
    Кстати тут: www.wasm.ru/print.php?article=tbc12 написано "флаг запрета на исполнение кода на платформе x86 бесполезен" - что это значит ?
    Возможно ли вызвать исключение запретив выполнение кода на странице с помощью VirtualProtect, есть ли ещё способы в юзермоде ?
     
  7. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Charlief
    Значит, что если память доступна для чтения, то она доступна и для исполнения (если не учитывать DEP).
     
  8. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    K10
    А не учитывать DEP можно было ну разве что лет десять назад. Поэтому эта фраза на данный момент неактуальна.
     
  9. blast

    blast New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    170
    В сложных задачах можно и в импорте похукать а почему бы и нет..
     
  10. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    l_inc
    Таки вы правы.

    blast
    Вопрос в том как уйти от хуков.
     
  11. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    Charlief
    Можно установить протекцию памяти, хардую бряку втулить, трасировать, вообще есть куда копать. Потеря производтельность большая может быть.
     
  12. blast

    blast New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    170
    Ответ очевиден снять хуки
     
  13. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    l_inc
    Согласен, я просто обьяснил смысл той фразы.

    Интересно, как инде относится к перехватам через IAT? При этом ведь не портятся кодосекции..
    Для динамического импорта можно перехватить GetProcAddress (LdrGetProcedureAddress), ручным разбором экспорта легитимные приложения не занимаются.
     
  14. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    K10
    IAT расположен именно в кодовых секциях, RE. Посему не годно. Это патч.

    blast
    Это маразм. Выпилить из сст фильтр аверский и юзать сст. Ядерный код не должен её вообще юзать. Для этого есть NTAPI. А Zw-стабы это функционал вообще не юзабельный, так как вызов нейтива через туже сст проходит.

    Любой нормальный код не юзает похаченные апи. Тоесть накой мне впал NtOpenProcess - в ядре вобще то референсы юзаются, ссылки на обьекты, а не их описатели(конечно не легально, плевать на дескриптор безопасности).
     
  15. blast

    blast New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    170
    Будь внимателен и не бросайся словами. Я ответил человеку в его контексте глянь на его пост там речь шла о юзермоде и о конкретной функции. В ядре могут быть и другие способы да. Тут скорее вопрос о соотношении что важнее решить поставленную задачу или это просто все по приколу. Ну дальше если задачу решить то смотреть приоритеты и скорее всего лучше использовать простое решение, чем мозги поебать) Мозги ебутся если по приколу.)

    Ну да, а еще может негодно что твой ЕХЕ на тачке запустится? Может лучше писать SMB эксплоиты всякие и искать способы что бы без ЕХЕ наш код запустился?) А то я думаю что ЕХЕ это негодно. =) Да и эксплоиты тоже негодно. Нужно через розетку код передавать =)
     
  16. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    blast
    Спасибо за содержательный ответ. Вы как всегда правы :lol: )
     
  17. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Malfoy
    Не определится сравнением с оригинальным образом на диске.
     
  18. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    K10
    Оно очень просто определяется. Вы вот в каждом топе про патч пишите. Реально же у нас к примеру у каждого юзера есть диск с нт, купленный на 2$ и на нём куча утилит, которые все юзают. Тот же рку - ваш код потенцильно не рабочий. Одно нажатие кнопки и выпил сего дерьма. Реликты ваши были актуально во времена эмсирема. Сейчас же это смешно. Что вообще вы такого закодили ?
     
  19. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Malfoy
    Реликты не мои, они придуманы задолго до меня)
    Среднестатистический юзер не знает даже что у него за процессы работают в системе, тем более не знает он про хуки и анхукеры.
    К сожалению, лень мне сейчас проверить, детектит ли рку модификацию IAT.
     
  20. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.186
    Адрес:
    подполье
    Аркаман чтоле? Канешна детектит.