Ir para conteúdo
🥳 [EVENTO ESPECIAL] 20 Anos de WebCheats - Conte sua história. ×
Venda da WebCheats - Uma Nova Era para a Comunidade ×
  • Quem está por aqui   0 membros estão online

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

BRAWHALLA CHEAT


siels
 Compartilhar

Posts Recomendados

Desenvolvimento de um Bot para Brawlhalla: Manipulação de Memória, Kernel e Automação de Inputs

Introdução:
Estou tentando desenvolver um bot para o Brawlhalla que possa simular ações avançadas como esquivas rápidas, ataques precisos e decisões inteligentes baseadas na situação do jogo. Inicialmente, optei por usar técnicas como Python e C++ para automação de teclado e controle de entrada, mas percebi que isso não seria suficiente para lidar com as restrições do anti-cheat (EAC) e a latência do servidor.

A ideia inicial era manipular diretamente a memória do jogo e injetar inputs de teclado e mouse para controlar o bot. No entanto, depois de alguns testes e análise da estrutura do jogo, percebi que seria necessário adotar técnicas de kernel-level programming para contornar o EAC e melhorar a performance, especialmente em termos de latência.

1. A Necessidade de Kernel-Level Programming
A automação de inputs com Python e C++ não se mostrou eficiente o suficiente para contornar as proteções do EAC, além de não ser precisa o bastante devido à latência de rede. Com isso, percebi que a única maneira de obter um controle mais profundo e não detectado seria através de kernel-level programming.

A proposta é desenvolver um driver que interaja diretamente com o sistema de entrada (teclado e mouse) e a memória do jogo, sem ser detectado pelas proteções do jogo. Isso garantirá uma maior precisão e maior controle na simulação das ações do bot, além de reduzir significativamente o delay entre as ações do bot e o servidor.

2. A Dificuldade no Acesso à Memória do Jogo
Uma das maiores dificuldades que encontrei foi a de acessar informações cruciais do jogo, como a posição do jogador (x, y, z), status de ataques e ações como esquiva. Ao utilizar ferramentas como o Cheat Engine (CE), percebi que o acesso a essas informações não é tão simples.

O jogo parece usar técnicas de ofuscação e criptografia de dados, o que torna difícil mapear os endereços de memória de forma estável. O LocalPlayer, por exemplo, não possui um ponteiro estático facilmente acessível, e as variáveis essenciais estão frequentemente encapsuladas em objetos dinâmicos que mudam de endereço conforme a partida avança.

A partir disso, decidi buscar uma abordagem em que o sistema de controle estivesse fora do jogo, mas ainda fosse capaz de comunicar-se com a memória do jogo de forma eficiente.

3. Automação de Inputs via Kernel
Com o objetivo de melhorar a precisão e reduzir a latência nos comandos, comecei a desenvolver um driver que interage diretamente com os buffers de entrada do sistema operacional. Usando C++ para criar um driver de kernel, consigo capturar e injetar entradas de teclado e mouse de maneira mais eficiente.

O uso de kernel-level programming ajuda a evitar detecção por ferramentas de anti-cheat, pois o sistema de entrada manipulado diretamente no kernel não é facilmente monitorado por APIs de alto nível. Além disso, essa abordagem reduz a latência, garantindo que o bot reaja rapidamente aos estados do jogo.

Os objetivos principais dessa parte do desenvolvimento incluem:

  • Interação direta com o sistema de entrada: Manipulação de teclas e mouse de forma mais precisa.

  • Manipulação eficiente de memória: Leitura e escrita na memória do jogo sem ser detectado pelo EAC.

  • Redução de latência: Sincronizar os inputs de forma que o bot responda de forma quase instantânea.

4. Latência e Ataques de Alta Velocidade
Brawlhalla é um jogo com uma mecânica de ataques rápidos, onde ações de menos de 1ms podem fazer a diferença entre vencer ou perder. O delay do servidor é um dos maiores obstáculos no desenvolvimento de um bot eficiente. Mesmo com um sistema de controle de teclado mais eficiente e manipulação direta da memória, o tempo de resposta do servidor limita as capacidades do bot.

Para superar isso, estou explorando a leitura de pacotes de rede, para prever as ações do inimigo antes mesmo que elas aconteçam, antecipando movimentos e ataques. Isso permitiria ao bot reagir de maneira mais eficaz, simulando a previsão de ataques rápidos e realizando esquivas ou contra-ataques de maneira mais estratégica.

5. Rede Neural e Tomada de Decisão
Além da automação de inputs e manipulação de memória, estou utilizando uma rede neural para melhorar a inteligência do bot. A ideia é treinar o bot para tomar decisões mais inteligentes, como quando atacar ou quando esquivar, com base no estado do jogo.

No momento, o bot já consegue realizar algumas ações básicas como esquivar e atacar em momentos específicos. No entanto, a decisão rápida e precisa ainda é um desafio. Para melhorar isso, estou treinando o bot usando aprendizado supervisionado, onde forneço exemplos de combate para o bot aprender a tomar as melhores decisões.

6. Desafios Encontrados

  • Precisão de Esquiva e Timing: Um dos maiores desafios tem sido a precisão na esquiva. O bot ainda tem dificuldades para reagir a ataques rápidos, como o Nlight, devido à latência e à complexidade de calcular a precisão dos inputs. Mesmo com o modelo de rede neural, a reação do bot não é tão rápida quanto a de um jogador profissional.

  • Previsão de Movimentos: O bot ainda tem dificuldades em antecipar os movimentos do inimigo. A previsão de ataques, mesmo utilizando técnicas de machine learning, não está 100% precisa, especialmente com ataques rápidos.

  • Manipulação de Memória e Estruturas de Dados: O processo de mapeamento da memória do jogo tem sido complicado devido à dinâmica da estrutura de dados e técnicas de ofuscação. Encontrei alguns endereços de memória dinâmicos, mas os dados ainda não são estáveis o suficiente para garantir uma leitura precisa em tempo real.

7. Solicitação de Ajuda
Neste ponto, estou buscando ajuda nas seguintes áreas:

  1. Kernel-Level Programming: Alguém tem experiência no desenvolvimento de drivers de kernel para manipulação de inputs? Como evitar a detecção por EAC?

  2. Manipulação de Memória: Como posso acessar as variáveis e dados do inimigo de maneira mais eficiente? Alguém já conseguiu acessar com precisão dados como hitboxes ou status de movimentos?

  3. Redução de Latência e Previsão de Movimentos: Quais técnicas podem ajudar a reduzir a latência entre o servidor e o cliente, melhorando a precisão da esquiva e ataque do bot?

  4. Integração entre Python e C++: Alguém já integrou Python com C++ para controlar bots em jogos? Quais ferramentas ou técnicas ajudaram na comunicação entre os dois?

Conclusão:
O desenvolvimento desse bot tem sido desafiador, mas estou fazendo progressos significativos. A combinação de C++ para controle de baixo nível e Python para lógica de inteligência artificial está funcionando bem, embora a integração entre eles ainda apresente desafios. Se alguém tiver dicas ou experiências para compartilhar sobre os aspectos técnicos mencionados, eu ficaria muito grato por qualquer ajuda!

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

 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.