Каким образом можно «внедриться» в существующее TCP/IP соединение существующего процесса и посылать свои пакеты?

Вопрос сложный, если бы мог разобраться сам, не спрашивал бы.

Задача следующая. У стороннего процесса открыто подключение по протоколу TCP/IP. Он посылает определенные пакеты, он получает определенные пакеты - это неважно. Необходимо сделать так, чтобы моя программа посылала свои дополнительные пакеты этому же сокету, не создавая второе подключение, т. е. как бы внедрялась в существующее соединение и посылала свои пакеты вдогонку к существующим.

В гугле я вычитал, что это возможно, но достаточно трудоемко, т. к. нужно делать хуки на ws2_32.dll и получать handle сокета, но как именно это сделать, не сказано. Сам в C++ и WinAPI не силен, поэтому если можно, ответ в стиле для "чайника" приветствуется.

Возможно, как-то еще можно через DLL-инъекцию, но не уверен.
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
@CHolfield
TCP пакет содержит идентификатор, который последовательно увеличивается обеими участниками. Если ты пошлешь пакет с неверным идентификатором, получатель отбросит его. Если ты угадаешь идентификатор, то следующие пакеты от "легального" отправителя будут отброшены, ибо идентификаторы в них будут не те, которые ожидаются. Модифицировать пакеты на лету, сохраняя эту последовательность, а так же не забывая о контрольной сумме тебе не позволит вычислительная мощность твоего компа и уровень твоей теоретической подготовки. Dll-инжект и C++ - забудь об этом, твои вопросы не оставляют тебе шанса. Пакеты вдогонку ему посылать бгггг.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы