Suporte no desenvolvimento de jogos


    Bloquear client falso no Eclipse Origins

    avatar
    demexd97
    Novato
    Novato

    Mensagens : 6
    Créditos : 0
    Cash : 0

    Bloquear client falso no Eclipse Origins Empty Bloquear client falso no Eclipse Origins

    Mensagem por demexd97 em Qui Abr 04, 2019 9:53 am

    Olá membros da aldeiarpg, para quem não me conhece eu sou o "Deme" da antiga MMORPGBR e estou com um projeto em EO novo em folha mas estou tendo dificuldade com Client Falso.
    Gostaria da ajuda de vocês, como faço para colocar versão no meu client para que caso alguém acesse de outro client falso apareça a mensagem de "Versão desatualizada" e peça para entrar no site do meu game e baixar a versão oficial.
    Sendo assim, por mais que algum engraçadinho consiga meu IP e Porta ele seja barrado pela versão do game.
    DragonicK
    DragonicK
    Lenda
    Lenda

    Mensagens : 508
    Créditos : 74
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    Bloquear client falso no Eclipse Origins Left_bar_bleue0/0Bloquear client falso no Eclipse Origins Empty_bar_bleue  (0/0)
    Vida:
    Bloquear client falso no Eclipse Origins Left_bar_bleue30/30Bloquear client falso no Eclipse Origins Empty_bar_bleue  (30/30)

    Bloquear client falso no Eclipse Origins Empty Re: Bloquear client falso no Eclipse Origins

    Mensagem por DragonicK em Qui Abr 04, 2019 12:54 pm

    De todo modo, ainda há como ser burlado, tudo vai depender do seu conhecimento.


    Menos eficiente:
    1. Reordenar os cabeçalhos das mensagens.

    2. Mudar a posição de escrita nos métodos de envio.
    3. Reprogramar o login e o cadastro.

    Eficiente?
    1. Usar uma criptografia nos textos de login e senha.



    Mais eficiente:
    1. Usar uma criptografia com números aleatórios para o envio dos dados.
    Dooolly
    Dooolly
    Moderador Global
    Moderador Global

    Medalhas : Bloquear client falso no Eclipse Origins Trophy12
    Mensagens : 1227
    Créditos : 149
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    Bloquear client falso no Eclipse Origins Left_bar_bleue0/0Bloquear client falso no Eclipse Origins Empty_bar_bleue  (0/0)
    Vida:
    Bloquear client falso no Eclipse Origins Left_bar_bleue30/30Bloquear client falso no Eclipse Origins Empty_bar_bleue  (30/30)

    Bloquear client falso no Eclipse Origins Empty Re: Bloquear client falso no Eclipse Origins

    Mensagem por Dooolly em Qui Abr 04, 2019 3:42 pm

    @DragonicK escreveu:De todo modo, ainda há como ser burlado, tudo vai depender do seu conhecimento.


    Menos eficiente:
    1. Reordenar os cabeçalhos das mensagens.

    2. Mudar a posição de escrita nos métodos de envio.
    3. Reprogramar o login e o cadastro.

    Eficiente?
    1. Usar uma criptografia nos textos de login e senha.



    Mais eficiente:
    1. Usar uma criptografia com números aleatórios para o envio dos dados.
    Tem outra coisa que se encaixa nesse "Menos eficiente", adicionar um key que o cliente envia ao servidor assim que se conectar, e caso não seja válido, então será desconectado. Lembrando, é "menos eficiente" como o Dragonick falou.
    DragonicK
    DragonicK
    Lenda
    Lenda

    Mensagens : 508
    Créditos : 74
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    Bloquear client falso no Eclipse Origins Left_bar_bleue0/0Bloquear client falso no Eclipse Origins Empty_bar_bleue  (0/0)
    Vida:
    Bloquear client falso no Eclipse Origins Left_bar_bleue30/30Bloquear client falso no Eclipse Origins Empty_bar_bleue  (30/30)

    Bloquear client falso no Eclipse Origins Empty Re: Bloquear client falso no Eclipse Origins

    Mensagem por DragonicK em Qui Abr 04, 2019 3:52 pm

    @Dooolly escreveu:
    @DragonicK escreveu:De todo modo, ainda há como ser burlado, tudo vai depender do seu conhecimento.


    Menos eficiente:
    1. Reordenar os cabeçalhos das mensagens.

    2. Mudar a posição de escrita nos métodos de envio.
    3. Reprogramar o login e o cadastro.

    Eficiente?
    1. Usar uma criptografia nos textos de login e senha.



    Mais eficiente:
    1. Usar uma criptografia com números aleatórios para o envio dos dados.
    Tem outra coisa que se encaixa nesse "Menos eficiente", adicionar um key que o cliente envia ao servidor assim que se conectar, e caso não seja válido, então será desconectado. Lembrando, é "menos eficiente" como o Dragonick falou.

    Isso não chega nem perto de ser menos eficiente, já que você pode usar um sniffer para ver o que está sendo transmitido.
    avatar
    demexd97
    Novato
    Novato

    Mensagens : 6
    Créditos : 0
    Cash : 0

    Bloquear client falso no Eclipse Origins Empty Re: Bloquear client falso no Eclipse Origins

    Mensagem por demexd97 em Qui Abr 04, 2019 6:41 pm

    Como um bom programador, acredito que toda tentativa de proteger seu software será sempre bem vinda independente se é "Menos eficiente" ou "Mais eficiente", quanto mais proteção melhor.

    Ao criar a conta no game os dados são criptados em MD5 na base de dados e toda e qualquer verificação entre client e servidor são monitoradas pelo método "Connection" garantindo que apenas o client alterado por mim seja o único a se conectar no servidor.
    Mas existe um problema nisso...

    Se você abrir o prompt de comando (CMD) e digitar o comando netstat com a especificação correta enquanto estiver logado no game, você consegue adquirir a informação de IP e PORTA sem esforço.

    Com essa informação de IP e PORTA se você abrir qualquer engine de EO e colocar na config a informação que obteve no (CMD), você consegue se conectar ao meu projeto e com uma simples modificação no client~side você obtem TODOS os privilegios de admin.

    Por esse motivo, precisava trabalhar com algo parecido com versões, sendo assim, por mais que consigam meu ip e porta e coloquem em um client EO alterado, ao realizar algum acesso ele é notificado de "Versão Desatualizada, baixe a completa em nosso site".

    OBS: Caso alguém tenha se perguntado que pra resolver isso era só encriptar em MD5 tanto o login como a senha do usuário, em parte você está certo mas.... na base de usuários fica varias letras e números e não existe meio de "Descriptografar" para saber o nome do usuário em caso de obtenção de vip e itens vip, isso dificultaria um pouco para a entrega da loja virtual.
    DragonicK
    DragonicK
    Lenda
    Lenda

    Mensagens : 508
    Créditos : 74
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    Bloquear client falso no Eclipse Origins Left_bar_bleue0/0Bloquear client falso no Eclipse Origins Empty_bar_bleue  (0/0)
    Vida:
    Bloquear client falso no Eclipse Origins Left_bar_bleue30/30Bloquear client falso no Eclipse Origins Empty_bar_bleue  (30/30)

    Bloquear client falso no Eclipse Origins Empty Re: Bloquear client falso no Eclipse Origins

    Mensagem por DragonicK em Qui Abr 04, 2019 7:30 pm

    Você está carente de informação e está confundindo uma função de hash (MD5) com criptografia.

    MD5 é usado para gerar um hash para verificar a integridade dos dados. Depois que o hash foi gerado, não há como fazer o caminho contrário para se encontrar os dados (a não ser com alguns ataques).

    A criptografia é feita pra manter os dados confienciais. E para que seja feito a descriptografia, uma chave (senha) será necessário.

    Se a única maneira de alguém entrar no seu servidor for a parte de login do usuário, você pode simplesmente criptografar (e não usar um HASH MD5) esses dados no cliente e enviar para o servidor.
    Nessa parte, o servidor precisará fazer a descriptografia, se os dados forem inconsistentes, gerará valores totalmente diferentes do original. 


    A jogada aqui é, fazer com que o SEU CLIENTE, gere dados que SOMENTE o servidor irá ler. Quando alguma outra pessoa tentar usar um outro cliente, ela não conseguirá entrar pois o servidor precisa da informação especifica para poder autenticar o usuário. Isso também poderia ser quebrado se a sua criptografia somente gerasse dados estáticos, usando sniffer, poderiam obter os dados que são enviados na sua engine, e criar um pacote específico em um cliente falso.

    Portanto, a solução mais eficiente no momento, é criptografar todos pacotes gerando números aleatórios para dificultar a obtenção dos dados recebidos e enviados.

    Esconder ip e porta é a mesma coisa que usar uma calça, ninguém tá vendo mas todo mundo sabe onde tá o seu cu.
    avatar
    demexd97
    Novato
    Novato

    Mensagens : 6
    Créditos : 0
    Cash : 0

    Bloquear client falso no Eclipse Origins Empty Re: Bloquear client falso no Eclipse Origins

    Mensagem por demexd97 em Qui Abr 04, 2019 8:14 pm

    @DragonicK
    Oque você mencionou acima, seria mais um método para carregar dizendo tal chave é necessária pra se conectar no servidor certo? e isso funcionaria super bem, mas acontece que não é isso oque eu quero.

    Oque eu queria era colocar sistema de versão no cliente e só a versão baixada no meu site seja utilizada para acessar o game.

    Vamos supor que meu jogo ta na versão: 1.0, quando eu atualizar meu site e colocar uma versão 1.1 a versão 1.0 iria notificar o jogador para atualizar o jogo entende? Diferente de um método com uma chave garantindo a conexão entre Client~Servidor.

    Na antiga mmorpgbr existia um tuto sobre isso só que de EEB, mas infelizmente não podemos mais acessar esse forum para tentar converter a EO.
    DragonicK
    DragonicK
    Lenda
    Lenda

    Mensagens : 508
    Créditos : 74
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    Bloquear client falso no Eclipse Origins Left_bar_bleue0/0Bloquear client falso no Eclipse Origins Empty_bar_bleue  (0/0)
    Vida:
    Bloquear client falso no Eclipse Origins Left_bar_bleue30/30Bloquear client falso no Eclipse Origins Empty_bar_bleue  (30/30)

    Bloquear client falso no Eclipse Origins Empty Re: Bloquear client falso no Eclipse Origins

    Mensagem por DragonicK em Qui Abr 04, 2019 8:35 pm

    Isso que você quer já tem por padrão na engine. É só verificar no HandleLogin.

    Bloquear client falso no Eclipse Origins UjBc5t0

    Alterar as constantes no servidor com a versão do seu jogo:
    Bloquear client falso no Eclipse Origins C7S971V

    E alterar as propriedades do cliente.

    Bloquear client falso no Eclipse Origins Dff11An

    Conteúdo patrocinado

    Bloquear client falso no Eclipse Origins Empty Re: Bloquear client falso no Eclipse Origins

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qua Nov 20, 2019 7:10 pm