перехват трафика, Delphi

Программирование на Pascal

Модератор: trubb

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 11:27:32

Доброго времени суток! Возникла задача написать программу для перехвата трафика определенного приложения с использованием Windows sockets (никаких инди и т.п.) ну и скорее всего хук, может кто подскажет толковую документацию по использованию Winsock 2 из Delphi, через гугл находил только обобщенную документацию и скудные примеры которые и школьник напишет, или может у кого пример есть, буду очень признателен.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 11:30:55

это кто вам сказал что траффик можно перехватывать из юзерфрендли через winsock2 ?
эту дыру M$ уже давно закрыли, расслабтесь
и используйте WinPcap драйвера

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: перехват трафика, Delphi

Непрочитанное сообщение hizel » 2011-01-27 11:33:00

если в виндовозе можно написать свою обертку socket-ов и подсунуть приложению то проблема решаема малой кровью
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 11:40:34

а потом свою же обёртку еще и в приложении подключать?, не не получится

Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

Re: перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 11:42:39

Хм, вообще я думал сделать inject dll в нужное приложение и ставить хук на recv, ну как-то так... У меня опыта создания подобного чуда нет, по этому и обращаюсь к тем у кого может быть есть или хотя бы к какой документации обратиться лучше...
Где-то читал что можно создать Layered Socket Provider и через него вылавливать, но опять же, никакой документации по этому поводу внятной я не нашел к сожалению.

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 11:45:46

аа ну Inject всегда можно

_www.xakep.ru/post/26796/default.asp
наберите в гугле
inject dll delphi
вариантов мульен

Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

Re: перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 11:51:51

Да, по внедрению библиотек инфы куча и вроде проблем не должно быть, а вот с перехватом трафика у меня грабли, но спасибо, пойду почитаю.

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 11:57:57

ну так в чем проблема если инжект сделан?
дальше данные от recv получаете и делайте с ними что хотите
что есть - перехват траффика - который у вас не получается?

Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

Re: перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 12:03:01

Как раз проблема и состоит в этом, каким образом получить данные от recv, записать в лог и послать дальше по назначению?

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 12:13:32

ну а откуда мы простые гости знаем что вы там с этими данными хотите творить?
да, Inject так и делается
это называется проксированием
когда вы заменяете оригинальную функцию, своей, а в своей вызываете оригинальную
а между ними делаете что хотите
хоть в лог пишите хоть меняйте содержимое пакета

Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

Re: перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 13:31:48

Гость писал(а):ну а откуда мы простые гости знаем что вы там с этими данными хотите творить?
да, Inject так и делается
это называется проксированием
когда вы заменяете оригинальную функцию, своей, а в своей вызываете оригинальную
а между ними делаете что хотите
хоть в лог пишите хоть меняйте содержимое пакета
Главное что теперь знаете :)
Получается заменять нужно как recv так и Send, что бы принять пакет, обработать и послать далее по назначению, тем не менее вопрос пока актуален, как сделать сие чудо? Неужели нет ни у кого хотя бы куска кода или доков по данной проблеме?

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 13:39:23

Получается заменять нужно как recv так и Send, что бы принять пакет, обработать и послать далее по назначению,
бред какойто
вы замаете recv
своим my_recv

Код: Выделить всё

my_recv(...)
{
   здесь делаем что хотим
    recv(...);
}
ну если вам нужно хучить и send то и его также проксируем
тем не менее вопрос пока актуален, как сделать сие чудо? Неужели нет ни у кого хотя бы куска кода или доков по данной проблеме?
в гугл полно ссылок, мене что за вас поискать и выбрать нужную?
сильно жирно будет))

Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

Re: перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 20:48:06

Если так просто написали бы пример, а так я могу что угодно написать, типа procedure ImSuperman(name:Babka) .... Хоть один действительно дельный ответ дали бы, а образно любой может рассказывать. Перехват API функций имеет очень много нюансов и сказать просто сделай то да се любой может. Если все же найдется у кого нить хоть ссылка где можно почитать, напишите, буду оч. признателен.

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 21:40:31

- я на этом тупом языке слава богу не пишу
- ссылок в гугле как Г, но вы в упор читать не хотите, типичная привычка новичков.
- http://www.progamercity.net/delphi/delp ... ction-107/ читайте разбирайтесь

Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

Re: перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 22:45:45

мы говорим на разных языках, я писал что с инжектом проблем нет, проблема в том, как перехватить данные передаваемые приложением в сеть, записать их куда-нить и послать дальше.
Кому интересно, вот нарыл кое что http://www.codenet.ru/progr/delphi/stat/api-hook.php
пойду разбираться, хоть что-то ближе к телу )

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 22:51:58

, я писал что с инжектом проблем нет, проблема в том, как перехватить данные передаваемые приложением в сеть, записать их куда-нить и послать дальше
мы дествительно говорим на двух разных китайских наречиях

если проблем с инжектом нет, то перехватывайте send и recv или если это UDP то sento и recvfrom
в чем проблема?

ps по вашей ссылке тоже самое что я вам показывал на хакер ру и второй ссылке

мб, нормально научитесь формулировать вопрос?

Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

Re: перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 22:56:30

dll то я подгрузил, каким образом мне перехватить именно recv и send? во всех примерах перехват или клавы или мыши, но вот примеров с сетью не найду ни одного ((

Гость
проходил мимо

Re: перехват трафика, Delphi

Непрочитанное сообщение Гость » 2011-01-27 23:12:34

в dll есть функции
експортируемые насоклько я понимаю, или наборот импортируемые
вот их инжектите

вот из вашей же ссылки
SetProcedureHook(GetModuleHandle('ntdll.dll'),'ZwQuerySystemInformation',
@NewSystemFunction,@SystemFunctionBridge);
не понимаю что там не понятно, ясно же как божий день

Аватара пользователя
freemanf
рядовой
Сообщения: 15
Зарегистрирован: 2011-01-27 11:13:11

Re: перехват трафика, Delphi

Непрочитанное сообщение freemanf » 2011-01-27 23:20:19

Пойду разбираться, спасибо за наводку и терпение.