
Venom is a library that meant to perform evasive communication using stolen browser socket
Venom — это библиотека на C++, которая предлагает альтернативный способ связи: вместо создания сокета, который можно отследить до процесса, она создает новый «скрытый» (без отображаемого окна) отсоединенный процесс Edge (Edge был выбран, потому что это браузер, установленный на каждой Windows 10+ и не вызывающий подозрений) и крадет один из его сокетов для выполнения сетевых операций.
Преимущество создания отсоединенного процесса браузера в том, что нет опасности его случайного закрытия пользователем, а сокеты существуют, но не связываются ни с одним сайтом, что позволяет избежать возможных коллизий.

Venom — это один заголовочный файл C++, поэтому вы можете просто включить его в свой проект и использовать следующим образом:
Venom venom = Venom(L"127.0.0.1", 3110);
if (!venom.VenomObtainSocket()) {
std::cerr << "[ - ] Failed to get socket." << std::endl;
venom.~Venom();
return -1;
}
// Do your stuff here.
...
venom.~Venom();
Вы можете посмотреть пример, показывающий, как использовать сокет для отправки или получения данных.
Основная причина, почему это работает, или, точнее, почему отправка и получение через сокет (возможно, подключенный) происходят без проблем, указана в документации функций.
Прежде чем я расскажу об этом подробнее, я выбрал создание нового процесса Edge вместо использования уже открытого по двум основным причинам:
Вы не можете знать, используется ли уже сокет браузера, и это может вызвать коллизию, если вы пытаетесь получить данные.
Процесс, который вы создали, может быть случайно закрыт пользователем в любой момент, что прервет вашу связь.
Теперь, когда вы поняли причины создания нового процесса, я могу объяснить, почему я могу использовать уже существующий сокет (который может быть подключен) для связи с целью (не подключая его к ней).
Кроме того, можно прочитать, что они также написали «... Даже если сокет без установления соединения был ранее подключен к конкретному адресу, параметр to переопределяет адрес назначения ...», то есть мы можем переопределить цель с помощью sendto.