Страница: 1 |
Страница: 1 |
Вопрос: Снятие хука другой программы
Добавлено: 23.03.10 01:56
Автор вопроса: VilyaBeBack | ICQ: 415-022-373
Доброго времени суток.
Есть моя программа, которая использует 3 апи функции - гет пиксель, установка координат мыши, клик мыши.
И есть другая (не моя) программа, которая предположительно будет отслеживать вызовы этих апи с помощью хуков.
Как снять хук, повешенный другой программой?
Или как ещё она может отследить вызовы моих апи?
В общем нужно, чтобы та программа никак не узнала что я вызываю апи функции.
Буду очень рад любой информации или любому способу, даже если он не на VB и даже если очень заумный.
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #1
Добавлено: 23.03.10 07:22
вот, что пишут на рсдн:
1) ставим глобальный WH_DEBUG (DebugProc)
2) перехватываем SetWindowsHookEx
3) если кто-то ставит глобальный хук, перерегистрируем свой (DebugProc) так чтобы он оставался последним в списке — первым при вызове
4) по вызову фильтрующей функции (DebugProc), что была зарегестрирована в (1) проверяем: хук приходит в нашем потоке — вернуть код 1, иначе — пердать управление следующему хуку в цепочке через CallNextHookEx.
Покатит для случаев, если наше приложение не использует хуки. При использовании своим приложением хуков, метод надо усовершенствовать.
вот тут вопщем http://www.rsdn.ru/forum/asm/1963077.flat.aspx
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 23.03.10 11:00
Против сплайсинга помогает восстановление замененных 5 байт на оригинальные.
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 05.04.10 18:50
А если сплайсинг не имеет места быть? Может хук IAT, таблицы импорта или, еще хуже, IDT? Щас быстро расскажем руткитные методики восстановления IDT? Или как распарсить таблицу импорта и восстановить IAT? Может человек хочет аверы обманывать?..
Номер ответа: 4
Автор ответа:
VerhoLom
Вопросов: 20
Ответов: 285
Профиль | | #4
Добавлено: 09.04.10 09:36
WASM.ru - там есть статья про перечисление хуков в системе. Снимаются они простым UnhookWindowsHookEx. А вот чтоб перечислять надо лезть в нулевое кольцо...
Номер ответа: 5
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #5
Добавлено: 09.04.10 11:58
Человеку надо не системные ловушки снять, а похуканые АПИ. Если надо смотреть, перехватывает ли кто-нить тебя, вариантов несколько.
Если в ринг3, то сканим IAT, сравниваем с "правильными" адресами (рассчитываем исходя из таблиц экспорта и т.д.), плюс сравниваем АП нашего процесса (по тем адресам, где проецируются библиотеки) с содержимым файлов этих библиотек. Если видим, что в начале функции в АП что-то не так, как в файле - мы похуканы.
Номер ответа: 6
Автор ответа:
VilyaBeBack
ICQ: 415-022-373
Вопросов: 2
Ответов: 5
Профиль | | #6
Добавлено: 14.04.10 19:57
Спасибо за ответы!!! Сажусь досконально изучать все способы перехвата. Задача такова, что надо предусмотреть всё, ибо хоть раз чужая программа увидит хоть одну апи функцию (а она точно будет смотреть) - то прощай вся моя программа, как у сапёров вобщем .
Номер ответа: 7
Автор ответа:
VilyaBeBack
ICQ: 415-022-373
Вопросов: 2
Ответов: 5
Профиль | | #7
Добавлено: 14.04.10 23:58
Мне нужно не узнать, похукали ли меня или нет, а сделать чтобы не похукали.
Есть ли программы или способы, чтобы узнать какими методами вражеская прога будет отслеживать мои вызовы АПИ?
т.е. хуки, сплайсинг или нулевое кольцо... чтобы знать с чем бороться.
Номер ответа: 8
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #8
Добавлено: 15.04.10 17:36
Похукай ту прогу Или не дай ей вообще открываться