
Venom é uma biblioteca concebida para realizar comunicação evasiva usando socket de navegador roubado.
Venom é uma biblioteca C++ que visa oferecer uma forma alternativa de comunicação: em vez de criar um socket que possa ser rastreado até o processo, ela cria um novo processo Edge independente e "oculto" (nenhuma janela é exibida) (o Edge foi escolhido por ser um navegador instalado em todos os Windows 10+ e não levantar suspeitas) e rouba um de seus sockets para realizar as operações de rede.
A vantagem de criar um processo de navegador independente é que não há o perigo de ele ser fechado acidentalmente pelo usuário, e os sockets existem, mas não estão se comunicando com nenhum site, evitando assim possíveis colisões.

Venom é um único arquivo de cabeçalho C++, então você pode simplesmente incluí-lo no seu projeto e usá-lo da seguinte forma:
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();
Você pode ver o exemplo que mostra como usar o socket para enviar ou receber dados.
A razão principal pela qual funciona, ou para ser exato, por que o envio e o recebimento com um socket (possivelmente conectado) sem nenhum problema está na documentação das funções.
Antes de explicar mais sobre isso, escolhi criar um novo processo do Edge em vez de usar um já aberto por 2 razões principais:
Você não pode saber se o socket do navegador já está em uso e isso pode causar uma colisão se você estiver tentando receber dados.
Um processo criado por você pode ser fechado por engano a qualquer momento pelo usuário, o que significa cortar sua comunicação.
Agora que você entendeu as razões por trás da criação de um novo processo, posso explicar por que posso usar um socket já existente (que pode estar conectado) para se comunicar com um alvo (sem conectá-lo a ele).
Além disso, você pode ler que eles também escreveram "... Mesmo que o socket sem conexão tenha sido previamente conectado a um endereço específico, o parâmetro to substitui o endereço de destino ...", o que significa que podemos substituir o alvo com sendto.