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

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

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

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

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

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

Похожие вопросы