Перехват обрашения к памяти

Тема в разделе "WASM.WIN32", создана пользователем DeHunter, 19 дек 2005.

  1. DeHunter

    DeHunter New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    80
    Адрес:
    Ukraine/Kiev
    Здраствуйте. У меня возникла ситуация когда необходимо чтобы сразу после записи в определённую ячейку памяти управление передавалось на определёную процедуру. Пишу драйвер. Мне нужно нечто типа того что было в софт_айсе. Подскажите пожалуста как это сделать.
     
  2. DeHunter

    DeHunter New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    80
    Адрес:
    Ukraine/Kiev
    Кажется надо рыть в сторону интеловской документации и дебаг регистров DR0-DR7. Я прав ?
     
  3. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    Скажу, что это дело не простое, и не стоит сразу приступать не подготовленным, если времени нет, а задачу нужно решить, то всеравно ищи другие методы, может перехватом некоторых функций можно обойтись? А еще читай фрак, и 90210, про шадоуволкера.
     
  4. DeHunter

    DeHunter New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    80
    Адрес:
    Ukraine/Kiev
    Дело в том что мне нужно отлавливать изменения в ССТ. Тоесть чтобы никакая гадость хуков не наставила. Можно конечно создать отдельный поток который будет бегать по таблице и сверять её с оригиналом но это не выход. Это будет слишком сильно грузить процессор и память. Я вижу здесь только один выход - перехватывать запись.
     
  5. DeHunter

    DeHunter New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    80
    Адрес:
    Ukraine/Kiev
    Вы не могли бы поподробнее написать что почитать. Я не совсем понял.

    "фрак, и 90210, про шадоуволкера." - не могли бы расшифровать ? Поисковик на фразы типа ShadowWalker + 90210 выдаёт чтото левое.
     
  6. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    Дело в том, что я не помню ссылки, идти вам нужно на руткит.ком, а фрак- это phrack, ShadowWalker - это одна шняга, но главное ответ 90210 смотри - "наш ответ чемберлену".
     
  7. Topor

    Topor New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2005
    Сообщения:
    31




    А функции debug API не подойдут ? Именно как в айсе хочешь ?
     
  8. DeHunter

    DeHunter New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    80
    Адрес:
    Ukraine/Kiev
    А какие функции апи ? Вы не могли бы подсказать названия функций ? Хотя если не сильно сложно реализовать айсовый вариант то лутче конечно айсовый.
     
  9. Dimson

    Dimson New Member

    Публикаций:
    0
    Регистрация:
    7 июл 2005
    Сообщения:
    59
    Адрес:
    Russia
    Можно попробовать модифицировать параметры доступа к страничке памяти, а при возникновении исключения обработать его. Тогда можно ставить точку останова на сколь угодно большие куски памяти.

    Так вроде-бы в IceExt делается.
     
  10. Nimnul

    Nimnul New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    136
    Адрес:
    не Китай
    По мойму если модификация производилась из r0 тогда параметры доступа не учитываются, кроме одного, что страница на винте, или я не прав? :)
     
  11. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"




    Не учитываются только в том случае, если сброшен WP бит, но и при этом страницы чтение которых не разрешено всеравно будут вызывать исключение.





    В данном случае это как раз лучшее решение, так как перехват обращений к памяти (а особенно к SDT, к которой идут частые обращения) будет вызывать очень сильное падение производительности.
     
  12. DeHunter

    DeHunter New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    80
    Адрес:
    Ukraine/Kiev
    Да но помойму SDT модифицируется не так уж и часто. Или я ошибаюсь ?
     
  13. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290


    Модифицируется не очень часто, а от читается очень часто.

    А так как ты хочешь делать перехват на чтения то торможение системы будет присутствовать.
     
  14. DeHunter

    DeHunter New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    80
    Адрес:
    Ukraine/Kiev


    Мы друг друга не поняли. Я хочу сделать чтобы сразу после _записи_ данных управление передавалось на мой код. Тут у меня ешё возникла проблема. Как узнать имя сервиса имея его номер в ССТ ?