Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

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

Senha numerica dando dc na release


DwarfDev
 Compartilhar

Pergunta

Boa tarde!

Tudo bem com vocês?

Espero que consigam me ajudar.

Eu estou desenvolvendo um app para android, que vai servir para os players do meu servidor.

Eu estava realizando estudo dos pacotes e testes, porém eu ja me ferrei logo de cara, pois estou com problema no pacote da senha numerica. Estou usando a release Success of Destiny que foi postada aqui na WC e o que acontece é que, eu peguei um pacote de exemplo via Sniffer, e ao tentar envia-lo novamente, eu sou desconectado. Bem, como eu ainda não sei "construir um pacote", eu estou editando pacotes prontos(eu sei que isso pode dar merda, mas logico que não pretendo deixar assim), de qualquer forma, alguem saberia me dizer o que é? Se é o timestamp ou o checksum que a tm verifica?

Eu tentei olhar na source mas não entendo muito de C++.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

A numerica possui dois pacotes de resposta, ao enviar o server retorna 0xFDF ou 0xFDE, uma informa que a senha digitada foi correta, a outra o inverso.

 

Veja como o pacote se forma, ele possui um HEADER com 12 BYTES com informacoes de cabecalho do pacote e logo em seguida o pacote propriamente dito com suas respectivas informacoes, eu desconheco de qualquer protecao dentro da estrutura do pacote, mas antes de enviar pro server logicamente vc deve fazer a encriptacao para o servidor entender sua leitura...

kraftweerk_body.png

Link para o comentário
Compartilhar em outros sites

  • 0
A numerica possui dois pacotes de resposta, ao enviar o server retorna 0xFDF ou 0xFDE, uma informa que a senha digitada foi correta, a outra o inverso.

 

Veja como o pacote se forma, ele possui um HEADER com 12 BYTES com informacoes de cabecalho do pacote e logo em seguida o pacote propriamente dito com suas respectivas informacoes, eu desconheco de qualquer protecao dentro da estrutura do pacote, mas antes de enviar pro server logicamente vc deve fazer a encriptacao para o servidor entender sua leitura...

 

Obrigado Woz, eu tava testando de maneira porca.

De qualquer forma vou ter que construir um pacote exatamente como o cliente faz, pelo que parece a TM compara se o mesmo header ja foi usado antes, isso parece ser obvio, mas ela não faz isso em várias situaçoes, por exemplo no pacote de abrir NPC e etc.

Vou fazer o teste, obrigado pela atençao <3

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 0
Obrigado Woz, eu tava testando de maneira porca.

De qualquer forma vou ter que construir um pacote exatamente como o cliente faz, pelo que parece a TM compara se o mesmo header ja foi usado antes, isso parece ser obvio, mas ela não faz isso em várias situaçoes, por exemplo no pacote de abrir NPC e etc.

Vou fazer o teste, obrigado pela atençao <3

 

Precisando pode me chamar! Te ajudarei na medida do possivel do meu conhecimento :)

kraftweerk_body.png

Link para o comentário
Compartilhar em outros sites

  • 0

Além de checagem de timestamp, existe a chagem de key.

 

As releases que usam a TMsrv "nova" usa o sistema de keys que é recebido na charlist.

Se você não envia a key certa, toma DC

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 0
Além de checagem de timestamp, existe a chagem de key.

 

As releases que usam a TMsrv "nova" usa o sistema de keys que é recebido na charlist.

Se você não envia a key certa, toma DC

Opa!

Não sabia que a TM fazia isso.

Vou incomodar mais um pouquinho, =).

Como é isso? Sabe me dizer se é enviada uma Key através do pacote do Charlist e depois o cliente faz reconhecimento, ou se o cliente tem ciência dessa keyTable e gera uma random com base nela?

Link para o comentário
Compartilhar em outros sites

  • 0
Opa!

Não sabia que a TM fazia isso.

Vou incomodar mais um pouquinho, =).

Como é isso? Sabe me dizer se é enviada uma Key através do pacote do Charlist e depois o cliente faz reconhecimento, ou se o cliente tem ciência dessa keyTable e gera uma random com base nela?

 

Chegam 16 bytes gerados pela TMsrv no pacote 0x10A para o cliente.

Os 16 primeiros pacotes, se não me engano, são as keys que você precisa.

 

Existe um "cálculo" pra usar essa hash corretamente, e o resultado da key tem que ser exatamente o mesmo que a TMsrv espera

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 0
Chegam 16 bytes gerados pela TMsrv no pacote 0x10A para o cliente.

Os 16 primeiros pacotes, se não me engano, são as keys que você precisa.

 

Existe um "cálculo" pra usar essa hash corretamente, e o resultado da key tem que ser exatamente o mesmo que a TMsrv espera

E eu imagino que decifrar esse calculo deve dar um trabalho né? Haha

Vlw shepher, <3! Ajudou pra k7

Link para o comentário
Compartilhar em outros sites

  • 0
E eu imagino que decifrar esse calculo deve dar um trabalho né? Haha

Vlw shepher, <3! Ajudou pra k7

 

Não, se você souber um pouco de ER já da pra pegar ele. Fica nas primeiras linhas da segunda call do addmessage, se não estou enganado.

Mas é bem simples.

 

Acho que ele já está liberado em alguma src por aí também

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • 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.