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.

c++ [3] Como criar um trainer - Programando


tarekvilela
 Compartilhar

Posts Recomendados

Se você quer a versão pronta, vá até o final!

 

Você deve incluir as seguintes bibliotecas:

 

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

Não se esqueça de:

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

 

Antes de criarmos a nossa função main(), devemos criar algumas variáveis globais!

Para usar mais tarde, você já vão entender porque!

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

Agora, as variáveis para alterar a vida.

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

 

"Como assim, não entendi nada!"

Vou explicar...

 

Temos que escolher um valor para alterar a vida.

Escolhi 666. Mas o valor deve estar em hex, então como fazemos?

Vamos usar um pequeno truque, abra o cheat engine e abra qualquer processo, não importa! Agora, em valor, coloque o número que você quer, no meu caso: 666.

Ainda com o número escrito, clique em hex. Ele irá retornar: 0000029A

 

Separe em blocos de dois digitos e inverta a ordem!

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

 

Sem o 0x, c++ não reconhece esses valores.

 

VidaEndBase é Vida endereço base. Nessa variável de tipo DWORD colocamos o endereço estático que encontramos no tutorial passado.

Em VidaOffsets[], colocamos os offsets, nesse caso só precisamos de um, mas para munição, precisaríamos de 3!

 

Agora sim, crie a função main():

 

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

 

Dentro da main, crie as seguintes variáveis:

 

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

 

Agora, crie a função:

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

 

Essa função contém um laço for para podermos encontrar o endereço estárico + os offsets, resultando no endereço final, esse endereço final, chamei de PonteiroEnd (vem de Ponteiro Endereço) e a função está retornando esse valor! Ela é muito útil quando existe mais de um offset!

 

Crie um protótipo da função, para que possamos acessar de dentro de outras funções! Faça isso, copiando o cabeçalho da função, nesse caso:

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

e cole ele no início do programa, em baixo das bibliotecas:

 

Por enquanto nosso código está assim:

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

 

Agora, vamos criar uma função para escrever na memória! Não se esqueça de criar um protótipo!

 

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

 

Agora, adicionaremos tarefas na nossa função main. Para poder editar a memória, precisamos encontrar a janela do processo, a id do processo e o temos que dar acesso total ao processo, por isso "PROCESS_ALL_ACCESS".

 

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

 

Você irá alterar o valor da vida para 666. Se quiser que ela fique infinita, use:

 

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

 

Assim, quando apertar a tecla insert, o hack deixará de funcionar!

 

Pronto!

 

Trainer pronto:

 

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

 

 

Trainer mais avançado:

(com menu e mais opções)

 

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

 

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

  • 2 meses depois...
  • 2 semanas atrás...
  • 1 mês depois...
  • 1 mês depois...

Super massa, eu prefiro meu pascal, e acho muito da hora quem programa em C, e é uma linguagem excepcional. Parabéns pelo tutorial.

A Jedi uses the Force for knowledge and defense, never for attack.

-Yoda, Master.

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.