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.

[Tutorial] Montando um Trainer [Avançado]


Posts Recomendados

1- Saiba o Mínimo do Delphi

 

[DOWN]

É necessário se cadastrar para acessar o conteúdo.
[/DOWN]

 

2- Não de CtrlV & C nas Funções,reserve um pouco do seu Tempo para ler e entender o que cada Função faz.

3- Se não entendeu,leia novamente.

 

Vamos iniciar,antes vou explicar como Funciona.

 

Funcionamento Geral

 

Um Trainer tem um processo básico que altera um valor na memória. Esse valor pode ser a quantidade de vida que você tem num Jogo ou até mesmo um numero qualquer. A memória no caso pode ser o Jogo,um software qualquer.

 

A memória atribui um endereço em cada valor,esse endereço pode ser pego utilizando qualquer software que "desmonte" a memória do jogo,o mais usado é o cheatengine que já faz praticamente tudo,ele lê e altera o valor para você.

 

Agora vamos para parte de programação.

 

Funções "writeprocessmemory()" e "readprocessmemory()"

 

Essas são as Funções que nos vamos Utilizar,logicamente essas são as principais. A função "writeprocessmemory()" como a própria função já diz ela escreve um processo na memória,ou seja ela escreve um novo valor num determinado endereço.

A função "readprocessmemory()" faz a mesma coisa,a única diferença é que ao invés de escrever ela lê o endereço na memória,pode ser usado para verificar o valor atual do endereço.

 

Função “FindWindow”

 

Essa Função vai nos auxiliar na procura de nossa Janela. Essa Função depende de uma Operação Lógica para Funcionar, ou seja, “<=0” e “>0” .

No exemplo abaixo temos que se achar a janela com o nome “Webcheats” o form vai enviar uma mensagem.

 

If FindWindow(nil,'WebCheats')>0 then begin

Showmessage(‘Achou Janela’); end;

 

No exemplo acima utilizamos “>0” o pode ser usado caso não ache a janela. “<=0” ( para Utilizar é só substituir)

 

Variáveis "ler" "escrever"

 

Nos vamos Utilizar algumas variáveis que vão nos auxiliar no trainer Essas Variáveis podem ser alteradas para qualquer nome,para Facilitar vamos Utilizar as expressões "ler" e "escrever".

 

A pergunta que mais é feita e como se criar uma variável e para que ela serve. Vou explicar os 2 únicos jeitos de trabalhar como uma variável no Delphi.

 

O que é uma variável?

 

Variável é uma Função que vai criar um Nome para um único destino. Ex:

Temos o Nome: "WebCheats"

Vocês não concordam que ao invés de digitar 10 vezes "webcheats" é mais fácil digitar "WC" ?

 

É basicamente essa a função de uma variável, dar um atalho a outra função, no exemplo abaixo é utilizando o componente edit1.

 

Temos a função showmessage() e queremos dar uma mensagem sempre que for digitado algo no edit1.text,só que vamos utilizar também o que for escrito no edit1 para mudar o nome de uma Label,ao invés de digitar:

 

showmessage(edit1.text) e label1.caption:=edit1.text

podemos criar uma variável com o nome texto e fazer assim:

 

showmessage(texto) e label1.caption:=texto

A variável nos facilitou muito.

 

Agora você deve estar se perguntando,como que eu crio uma variável? no exemplo acima você viu apenas como utilizar agora vou ensinar como criar no delphi.

 

Lembrando que eu citei que existe 2 jeitos de se criar e utilizar uma variável.

 

1º jeito de se criar:

 

Na Imagem abaixo vemos a parte "var" destacada e logo em baixo "form1:Tform1;"

 

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

 

Esse é o 1º jeito de inserir uma variável.

Para inserir outra variável é só colocar: Nome:string;

Ex: Texto:string;

 

Para Utilizar essa variável você deve indicar o que ela faz na Função de um botão ou de um componente qualquer. Ex:

 

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

 

Na imagem a variável texto é utilizada ao invés de "edit1.text" e logo em seguida temos uma Função qualquer mostrando essa variável.

 

LEMBRE-SE: a variável "texto" pode ser o que você quiser,pois você a declarou "globalmente" você pode por exemplo nesse mesmo projeto em outra função colocar que Texto vai ser edit2.text a única coisa que muda é que você tem que colocar texto:=edit2.text;.

 

 

2º Jeito de criar uma variável:

 

Esse jeito é o mais Utilizado,no primeiro jeito nos declaramos uma variável global,ou seja ela pode ser Utilizada em muitos caso. Já nesse ele é somente para uma Função de um Componente.

Na Imagem abaixo você pode notar que temos “var” antes de “Begin” e logo em seguida: Texto:string; depois Begin e a sua Função Comum

.

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

 

Esse é o 2º Jeito de se Declarar uma variável.

Encerramos aqui essa parte de variáveis e vamos iniciar nossa próxima parte.

 

Inserindo os Componentes

 

Você não é obrigado a Utilizar a mesma maneira que na imagem abaixo,seja criativo e arrume seu Form de um jeito legal, mas é claro,utilizando os componentes citados.

 

var4.jpg

 

Components:

Edit1 ; Edit2; Edit3 ; Label1 ; Label2; Label3 ; Label4 ; Label5; Label6; Timer1; XP ; button1.

 

Agora que você viu praticamente tudo vamos começar com a parte da programação.

 

Declare as Seguintes variáveis globais:

 

Código:

PH : THandle;Código:

PID, ThID, R : DWORD;

Escrever : DWORD;

H : THandle;Vamos agora inserir a Função do nosso Timer:

 

 

Código:

var

ValorAtual:integer;

Ler:dword;

ver:integer;

begin

If FindWindow(nil, 'Janela do Jogo')<=0 then

begin

label1.Caption:='Não Achou Processo'

end;

 

If FindWindow(nil,'Janela do Jogo')>0 then

begin

ver:=StrToInt(edit4.Text);

label1.Caption:='Achou Processo';

H := FindWindow(nil, 'Janela do Jogo');

ThID := GetWindowThreadProcessId(H, @PID);

PH := OpenProcess(PROCESS_ALL_ACCESS,FALSE,PID);

readprocessmemory(PH,pointer(ver),addr(ValorAtual),4,Ler);

label2.Caption:=inttostr(ValorAtual);

end;

Deixar o Timer Ligado e com 1 Segundo.

 

Note que na Função temos “ Janela do Jogo “ você deve substituir pela “Caption” ( Nome da janela) do Jogo que você vai Utilizar o Trainer.

 

Agora Para Finalizar vamos Colocar na Função do Nosso Botão “editar” ( button1 )

 

Código:

var

NovoValor:integer;

Novoendereco:integer;

Escrever:dword;

begin

NovoValor:=StrToInt(edit1.Text);

Novoendereco:=StrToInt(edit2.Text);

writeprocessmemory(PH,pointer(Novoendereco), addr(NovoValor),4,escrever);

end;

Feito isso você deve estar agora com o Trainer Funcionando perfeitamente.

Esse Tutorial não tem como Objetivo Montar para um game certo,pois é você quem deve fazer,eu estou apenas aqui para ajudar e ensinar.

Existe muitos jeitos de montar um Trainer é claro,esse é um jeito simples mostrando como Utilizar as Funções básicas de um Trainer.

 

Creditos: Felipexg

 

Tópico original: http://www.webcheats.com.br/forum/delphi-vb/111211-como-montar-um-trainer-tutorial.html

 

WEBCHEATS O MELHOR PARA VOCÊ!

 

 

 

 

Aviso:

Não me agradesção acessem o tópico original e agradesçam o Autor do tópico

Link para o comentário
Compartilhar em outros sites

Olha Fiko Bom Mais Falto Algumas Coisas Basikas

 

Tipo:

- Mais Cores

- Explikar de Uma forma Mais Smples

- E Exibir A imagem No Forum Em Vez de Link

 

Mais Fiko Legal Eu Ja Sabia Fazer Um Trainer Mais Fiko Bom ! ! ! :D

 

META FIXA NO MEU CORAÇAO E NA MINHA ALMA :

gc1b.png

 

 

ADMIRO:

mah6.png

 

aldoxfanbar.jpg

 

 

sasuke14rh.jpg

 

 

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

 

 

Me Upa aew Naum Custa nada

 

1718448.gif

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

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

 

 

Se Ajudei Agradeça naum custa nada post_thanks.gif

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.