Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Перехват сообщений


Автор: Ch0bits 15.2.2006, 19:25
Есть приложение на моём компьютере и сервер в Интернете. Между ними установлено логическое соединение. Порт и IP известны. Я знаю, что некоторые антивирусы и файрволы перехватывают и сканируют траффик, следовательно это возможно.

Мне уже подсказали, что тут нужен Layered Service Provider, но что это такое и с чем его едят я не знаю...

Собственно вопрос: КАК ТАКОЕ СДЕЛАТЬ?
smile

Автор: adonin 16.2.2006, 12:44
Что конкретно нужно? написать фаервол, сниффер или найти готовую программу?

Фаерволы ловят сетевые пакеты так: создают промежуточный NDIS драйвер, через который идёт весь сетевой трафик.
Сниффер: переводят сетевую карту в режим "Принять всё" - RECVALL. В NT написание сниффера сводится к использованию единственной API.
Найти готовый софт: Идите на Google.

Автор: Ch0bits 16.2.2006, 14:57
Более конкретно:
Когда какое-либо приложение на компьютере создаёт сетевое подключения и проталкивает сообщение в сокет, я должет это сообщение перехватить и по возможности изменить до того как оно уйдёт в сеть.
В общем больше похоже на фаервол.

Автор: adonin 16.2.2006, 16:43
Возможны варианты:

1) Перехват API для работы с сокетами
а) изменив таблици импорта процессов (назначив свой код в качестве API)
б) изменив код API, чтобы они вызывали ваш код
2) Перехват "Родного API" для работы с сокетами. Придётся писать драйвер.
3) Написание промежуточного NDIS драйвера (документировано в DDK) или написание драйвера-фильтра на протокол-транспорт либо сетевое устройство.

В последнем случае Вы будете иметь наиболее полный контроль над трафиком: кроме WinSock Вы будете контроллировать практически весь трафик системы (Pipes, MailSlots, RPC...)

Автор: Ch0bits 16.2.2006, 17:52
smile smile smile
Писец! Мне надо пол года учиться, чтобы хоть одно из этого списка сделать!

Автор: adonin 16.2.2006, 18:10
Всё проще чем кажется. Эсли нужно, я вышлю Вам на e-mail хорошую информацию по этим вопросам. Просто не хочется нарушать закон об авторских правах и выкладывать чужую книгу для свободного скачивания smile

Автор: Ch0bits 16.2.2006, 21:46
Буду очень благодарен! smile
abcdedcba@inbox.ru

Автор: Ch0bits 17.2.2006, 16:11
Письмо получил. Большое спасибо! smile

Автор: Тутанхамец 23.2.2006, 21:05
А можно мне тоже? smile
faraon111@bk.ru
Добавлено @ 21:06
Если, конечно, не слишком затруднит? smile

Автор: Тутанхамец 25.2.2006, 09:25
Большое спасибо! smile

Автор: devmstr 26.2.2006, 08:29
thanks

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)