Ir para conteúdo
Sistema de Servidores de Jogos ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Posts Recomendados

Fala pessoal, vou compartilhar com vocês uma ferramenta que vem me ajudando a analisar os packets do WYD_Global na versão atual.
Foi desenvolvida com o único intuito de poder acertar as STRUCTS do jogo e ter um padrão sólido.

 

Não vou compartilhar a Source. Porem a ferramenta é 100% funcional e cumpre o objetivo.
Funciona em todos os cliente que usam o padrão de CPSock Original com o sistema de criptografia original, salvo os que estejam protegidos por anti injection ou outros tipos de proteção,

já que a ferramenta não tem nem uma técnica para bypassar essas proteções. Como o objetivo é o WYD Global e ele não tem nem uma tipo de proteção, não implementei nem um bypass, salvo uma verificação de debugger que existe do WYD.exe original!!

Temos a KeyTable Original codada dentro da dll, porem conseguimos gerar um dump da KeyTable do cliente que estamos trabalhando. E podemos carregar uma KeyTable Custom caso seja necessario.

Como funciona: a primeira ferramenta é a DLL, que basicamente faz todo o trabalho. Sempre que injetamos a DLL em um cliente ela analisa o exe acha a posição da KeyTable na memoria, gera um WYD_KeyTable_dump.txt que pode ser aberto com o bloco de notas. Em caso de diferença entre a KeyTable Original que esta na DLL e a KeyTable usado no cliente, basta renomearmos WYD_KeyTable_dump.txt para WYD_KeyTable_custom.txt e injetarmos novamente a DLL a KeyTable custom será carregada automaticamente e substitui a codada na DLL.
Gera um console com informações em tempo real e exibe os packets que estão sendo analisados (somente o Header no console), podemos analisar packets específicos adicionando os opcodes em WYD_PacketFilter.txt, dentro do arquivo tem toda a descrição de como usar, se o arquivo estiver vazio ou somente com comentarios (;) todos os packets serão logados.
Os packets são salvos completamente na raiz do cliente, uma pasta é criada com o nome de PacketLog e dentro dela temos as pasta Send e Recv, que são auto explicativas!! os packets são salvos desencriptados e em .txt podendo serem analisados no próprio bloco de notas por exemplo. Cada arquivo .txt salva ate 200 dumps dos packets, qunaod chega no limite os dados param de ser salvos no arquivo. Podemos configurar essa quantia tbm em WYD_PacketFilter.txt o valor minimo é 1 e o maximo 200. Tudo auto explicativo dentro dos .txt

Temos uma segunda ferramenta no pacote que se chama WYDSigGen, ele deve ser colocado na pasta do exe. Basta executar e ele carregara o WYD.exe e fara uma analise do binário procurando pela posição das funções de Recv e Send. Dessa forma gera um arquivo chamado WYD_Signatures.ini nele vai conter informações para que a DLL consiga hookar nos locais corretos, mesmo após uma atualização, por exemplo. Salvo quando o cliente passar por modificações muito grandes, como reestruturação das funções de encode/decode por exemplo. Ai o binário precisa ser analisado novamente para encontrar os offsets e assinaturas das novas funções.

A terceira ferramenta é o WYDInjector ele que carrega nossa WYDHook.dll no executável. Inicia o WYD no Global normalmente pelo Launcher, quando o cliente estiver rodando, abra o WYDInjector como administrador e a DLL será carregada automaticamente. ATENÇÃO a WYDHook.dll deve estar na mesma pasta do WYDInjector.exe, nem um dos 2 precisam estar na pasta do cliente. Somente WYD_Signatures.ini, WYD_PacketFilter.txt e WYD_KeyTable_custom.txt (caso queira carregar uma KeyTable custom) devem estar na pasta raiz do cliente que esta sendo analisado.

Acho que não esqueci de nada, segue um vídeo em uso...



OBS: não vou postar scan dos arquivos pelos seguintes motivos: A DLL nao tem nem um tipo de proteção ou ofuscação. Os executáveis WYDSigGen e WYDInjector, principalmente o WYDInjector modificam coisas em runtime, então obviamente são detectados como vírus, porem são falso positivo.

O fórum é voltado a Cheat, temos varias pessoas com muito conhecimento aqui, caso não se sintam seguros em usar, baixem os arquivos e analisem pessoalmente... os .exe tbm nao possuem nem um tipo de proteção ou ofuscação. Podem ser abertos com debuggers e analisados, até mesmo descompilados caso alguém tenha curiosidade.
Quem quiser usar, pode usar tranquilamente, não tem nada malicioso ou que possa gerar dano a vocês.
Bom é isso e espero que seja útil para vocês como foi para mim.

A ultima compilação foi hoje, vocês estão tendo acesso a versão release.

Segue o Link. Caso o antivirus de vocês acuse algo, basta adicionar uma exceção.

É necessário se cadastrar para acessar o conteúdo.

Editado por gcr_fc
  • Curtir 43
  • Uau 2

Discord: GuiCandiotto

Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/
Compartilhar em outros sites

Muito util isso, estava procurando um esses dias e nao encontrei, queria saber como tu fez para ele pegar os addrs atualizados, lembro que era assim que funcionava no Combat Arms, a galera só rodava e atualizava os enderecos do cheat, maneiro ver alguem trazendo isso pro WYD. 
Obrigado pela contribuicao. 

Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9256967
Compartilhar em outros sites

eu fiz um usando winpcap, da pra sniffar tudo sem injetar
só não da pra enviar pacote

 

 

5 horas atrás, Juumper disse:

Muito util isso, estava procurando um esses dias e nao encontrei, queria saber como tu fez para ele pegar os addrs atualizados, lembro que era assim que funcionava no Combat Arms, a galera só rodava e atualizava os enderecos do cheat, maneiro ver alguem trazendo isso pro WYD. 
Obrigado pela contribuicao. 

 

vc pode fazer uma função que procura bytes na memoria e retorna o addr
então vc acha o padrão da sendpacket por exemplo, e vc consegue encontrar o addr em diversos clients com o mesmo padrão 

É necessário se cadastrar para acessar o conteúdo.

Editado por badcorp
  • Curtir 17
  • Uau 1
Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9256972
Compartilhar em outros sites

1 hora atrás, badcorp disse:

eu fiz um usando winpcap, da pra sniffar tudo sem injetar
só não da pra enviar pacote

 

 

 

vc pode fazer uma função que procura bytes na memoria e retorna o addr
então vc acha o padrão da sendpacket por exemplo, e vc consegue encontrar o addr em diversos clients com o mesmo padrão 

É necessário se cadastrar para acessar o conteúdo.


Nao sabia que era assim, obrigado por compartilhar!

Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9256977
Compartilhar em outros sites

8 horas atrás, Juumper disse:

Muito util isso, estava procurando um esses dias e nao encontrei, queria saber como tu fez para ele pegar os addrs atualizados, lembro que era assim que funcionava no Combat Arms, a galera só rodava e atualizava os enderecos do cheat, maneiro ver alguem trazendo isso pro WYD. 
Obrigado pela contribuicao. 

Basicamente. Toda função compilada vira uma sequência de bytes. Mesmo quando o executável é recompilado, o padrão de bytes do início da função costuma ser muito parecido entre versões.

Por exemplo, CPSock::AddMessage sempre começa com algo assim:
55 8B EC 51 56 8B F1 83 3E 00 77 ?? C7 46 ?? 0A 00 00 00
│  │     │  │  │     │        │     │
│  │     │  │  │     │        │     └─ constante 0x0A (erro 10)
│  │     │  │  │     │        └─ JA (jump if above) = "se > 0, pula"
│  │     │  │  │     └─ CMP [ESI], 0  = "buffer vazio?"
│  │     │  │  └─ MOV ESI, ECX  = salva o ponteiro 'this'
│  │     │  └─ PUSH ESI
│  │     └─ PUSH ECX
│  └─ MOV EBP, ESP  ─┐ prólogo padrão de função x86
└─ PUSH EBP          ─┘

O ?? são wildcards — bytes que podem mudar entre versões (offsets que o compilador pode realocar), mas o esqueleto da lógica é o mesmo.

Para cada função, temos 3 assinaturas ordenadas da mais específica para a mais genérica:

v1 (22 bytes, match=100): "55 8B EC 51 56 8B F1 83 3E 00 77 ?? C7 46 ?? 0A 00 00 00 33 C0 5E"  -  muito específica, quase impossível dar falso positivo

v2 (14 bytes, match=70):  "55 8B EC ?? 56 8B F1 83 3E 00 77 ?? C7 46"  -  mais tolerante, aceita variação no prólogo

v3 (8 bytes, match=40):   "8B F1 83 3E 00 77 ?? C7"  -  último recurso, só o "núcleo" da lógica

 

A prioridade é sempre a v1, se por acaso não encontrar com a v1, tenta a v2 e assim por diante. Raramente chega na v3.

Se o código for recompilado, o addr muda porem o padrão dos bytes continua o mesmo, digamos que a função foi reescrita, isso vai dificultar a analise, porem sabemos que esse tipo de função normalmente tem valores de retornos específicos, como por exemplo - constante 0x0A (erro 10), então seguimos procurando por essas particularidades.

 

É necessário se cadastrar para acessar o conteúdo.


Comentei ai nesse trecho de código, alguns pontos que podem ser usados para a analise.
Nesse novo sistema que implementei, vc ate consegue fazer funcionar, porem como cada sessão que vc iniciar com o servidor tem um conjunto de keys exclusivas, toda vez vc vai ter que capturar, para poder fazer funcionar.

Mas digamos que reescreveram a função toda, mudaram tudo e etc... Ai meu amigo, vc analisa o exe novamente e encontra outra vez suahsaushaushau
A grosso modo é isso.

Editado por gcr_fc
  • Curtir 16
  • Uau 1

Discord: GuiCandiotto

Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9256981
Compartilhar em outros sites

1 hora atrás, Juumper disse:


Nao sabia que era assim, obrigado por compartilhar!

tmj
eu fiz uma gambiarra que pode ajudar

 

É necessário se cadastrar para acessar o conteúdo.

 

  • Curtir 17
Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9256982
Compartilhar em outros sites

3 horas atrás, badcorp disse:

eu fiz um usando winpcap, da pra sniffar tudo sem injetar
só não da pra enviar pacote

 

 

 

vc pode fazer uma função que procura bytes na memoria e retorna o addr
então vc acha o padrão da sendpacket por exemplo, e vc consegue encontrar o addr em diversos clients com o mesmo padrão 

É necessário se cadastrar para acessar o conteúdo.

É por ai, a primeira analise tem que ser feita manualmente, salvo se vc já conhece os padrões da função que esta procurasndo.

  • Curtir 1

Discord: GuiCandiotto

Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9256983
Compartilhar em outros sites

  • 2 meses depois...
  • 2 meses depois...

Thanks for the post! One short note, 2 years ago they started banning my accounts for sending packets. Eventough they were sent re encrypted the way they were awaited. This worked over years with no problems at all. 

So if youre interested in black magic, make sure you dont use your main. 

 



 

Editado por DevwithMarco
Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9260526
Compartilhar em outros sites

7 horas atrás, DevwithMarco disse:

Thanks for the post! One short note, 2 years ago they started banning my accounts for sending packets. Eventough they were sent re encrypted the way they were awaited. This worked over years with no problems at all. 

So if youre interested in black magic, make sure you dont use your main. 

 



 

Então o sistema tem uma rotação na Key que encriptam e desencriptam os pacotes, no caso aí do sniffer, nessa versão não enviamos packets para o servidor, mas é possível enviar sem ter problemas de banimento.

Discord: GuiCandiotto

Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9260543
Compartilhar em outros sites

im totaly aware oh how the packets are being encrypted and decrypted- and some further tests made sure they banned accounts that were using packetsending. Im just saying maybe they got flagged for a specific behaviour ( you were able to buy pig essence for 12k, sell them single for 2.5k each) this was running for some month aswell (huge anti detection measurements were taken tho, else i wouldnt have get away with what i been doing over years). I didnt have alot of motivation to find out the real reason since tho. This has been 2 years ago.

Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9260570
Compartilhar em outros sites

3 horas atrás, DevwithMarco disse:

im totaly aware oh how the packets are being encrypted and decrypted- and some further tests made sure they banned accounts that were using packetsending. Im just saying maybe they got flagged for a specific behaviour ( you were able to buy pig essence for 12k, sell them single for 2.5k each) this was running for some month aswell (huge anti detection measurements were taken tho, else i wouldnt have get away with what i been doing over years). I didnt have alot of motivation to find out the real reason since tho. This has been 2 years ago.

Entendi. É possível sim que tenha sido pelo tipo de ação recorrente... Até pq o sistema de log registra toda negociação ingame seja player x player ou player x npc. 

Discord: GuiCandiotto

Link para o comentário
https://www.webcheats.com.br/topic/2307132-wydstudio_packetsniffer/#findComment-9260572
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.