Luchnik22
@Luchnik22

Socket Hook или как перехватить вызов функции WS2_32.dll на .NET?

Есть некое приложение (игра), которое отсылает TCP/UDP запросы. Моя задача заключается в том, чтобы перехватить эти запросы и *изменить их направление на другой хост (компьютер).



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



Читал кучу статьей на эту тематику в том числе и эту, но все они на C++ или ASMe, есть ли способы реализации на C# (или на любом другом .NET языке)?



P.S. Реализации сниффера, OpenVPN, сетевых драйверов не предлагать, т.к. они не подходят.

P.S2. Без картинок не могу. Это к тому, что картинка ниже несёт малую смысловую нагрузку.



333c972133b8db38e7f6158da19083d0.png
  • Вопрос задан
  • 5738 просмотров
Пригласить эксперта
Ответы на вопрос 4
Unhandled_Exception
@Unhandled_Exception
Попробуйте BoxedApp SDK, там есть пример подобного хука на C# (см. samples\C#\Sample6_CreateFileHooking).
Ответ написан
Комментировать
zzeneg
@zzeneg
На C# можно использовать Win32API с помощью P/Invoke (DllImport).
Список методов в ws2_32.dll — www.pinvoke.net/default.aspx/ws2_32.wsastartup
Готовый класс-обертка: www.elitepvpers.com/forum/co2-programming/159327-advanced-winsock-c.html
Ответ написан
AlexandrDP
@AlexandrDP
C#, ASP .NET MVC, WindowsPhone, Android
kemsky
@kemsky
может проще подредактить hosts или днс сервер покрутить?
Ответ написан
Ваш ответ на вопрос

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

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