ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > Реверсинг
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Перечисление хуков
  #1  
Старый 12.05.2010, 23:43
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме:
3008839

Репутация: 1502


По умолчанию Перечисление хуков

Таки сделал тулзу. Подробно объяснять ничего не буду, скажу лишь, что адреса обработчиков берутся из недокументированной и малоизученной структурки W32Thread - THREADINFO, не знаю, как её лучше назвать. По сравнению с сорцами
Код:
03322 typedef struct tagTHREADINFO {
03323     W32THREAD;
............
03405 } THREADINFO;
предыдущей версии структура изменилась очень сильно, но достать из неё всё, что хочется, можно.
Не люблю платформозависимый код, но другой сочинять не хочу. Работает на XP SP3. Похоже, что не работает на win 7.
Бсодить в любом случае НЕ должно.


Инструкция:
1) Запустить hooki.exe либо сразу с параметром Thread ID, либо без параметра и ввести его по предложению.
2) Нажать Enter
3) Увидеть список хуков, приставленных к данному треду, либо DEADBEEF или BADF00D (или ничего) в случае ошибки.

Инструкция по использованию примера:
1) Запустить hooktest.exe
2) Прочитать число, запомнить его, нажимать "ок". Это число - TID. Окно не закрывать.
3) Запустить hooki.exe как выше
4) Должно получиться что-то вроде
Код:
Input tid: f04
Hook WH_MSGFILTER:
Hook WH_JOURNALRECORD:
Hook WH_JOURNALPLAYBACK:
Hook WH_KEYBOARD: 0x401090 (0) --> 0x746F07C3 (0) -->
Hook WH_GETMESSAGE: 0x401030 (0) --> 0x401000 (0) -->
Hook WH_CALLWNDPROC:
Hook WH_CBT: 0x746F0E2E (1) -->
Hook WH_SYSMSGFILTER:
Hook WH_MOUSE: 0x746F04CD (0) -->
Hook WH_HARDWARE:
Hook WH_DEBUG:
Hook WH_SHELL: 0x100013A0 (1) --> 0x8001256 (1) --> 0x746F12B6 (1) -->
Hook WH_FOREGROUNDIDLE:
Hook WH_CALLWNDPROCRET:
Hook WH_KEYBOARD_LL: 0x1030 (1) --> 0x1030 (1) -->
Hook WH_MOUSE_LL:
С WH_***_LL почему-то иногда ассоциированы не очень корректные хуки (как в примере). То есть, хук вроде и есть, а модуля, его содержащего, нет. Похоже, что они в таком случае не вызываются.

Да, если число в скобочках из вывода обозначить за X, то X&1 отвечает за глобальность хука, а X&2 -- за "уничтоженность".

Сорцы прилагаются.
hxxp://redxak.co.cc/kernel/HookList.rar

Буду признателен за отзывы и комментарии.
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рестврация ядра от хуков AV. krenki С/С++, C#, Delphi, .NET, Asm 8 04.02.2010 00:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ