WebCheats Teamspeak
Siga-nos...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro








Resultados 1 a 9 de 9
  1. #1
    Membro Avatar de wolkmen
    Data de Ingresso
    Aug 2008
    Posts
    82
    Agradecer
    6
    Agradecido
    112 vezes

    Padrão tudo sobre o cheat engine!!!

    Esse pequeno tutorial eu fiz para pessoas que acabaram de conhecer o mundo dos cheats e não tem a mínima noção de chceat engine, nessa edição contem apenas as ferramentas básicas...

    Vocês Podem ficar cansados de ler + lendo você entendera tudo e poderá até fazer chets novos...

    Apresentação do Cheat Engine (C.E)

    PARTE 1


    •O que é Cheat Engine?
    •Cheat Engine é um editor de memória, sua funssao eh alterar os valor do adress do cliente e freeza-lo para que seu valor não mude, mas você deve estar confuso, ```valores`` ``cliente`` ``adress`` `frozen``?
    •O valor pode ser o valor do numero de vidas que você tem, pode ser seu dinheiro, quanto de força, de defesa e etc.Resumidamente são números que representam a quantidade de algo
    •O adress é representado por alguns números, ele representa algo no jogo, como suas vidas ( não o numero de vidas que você tem) a sua defesa ( mas n o quanto de defesa você tem ) nele a valores.
    •O frozen eh um botão usado para freezar (quando uma pessoa fala ``freeze`` é para marcar o quadradinho ) o valor. Assim é organizado no CheatEngine

    •Nesse screeen pode-se perceber a organização dos itens acima

    Apesentação e Função dos Ícones Básicos do CE
    </FONT>(CheatEngine)

    [i]Conhecido como``computadorzinho``
    Função: Selecionar o processo
    Reação ao clique: Abre uma janela com a lista de processo abertos, onde você deve selecionar o processo do jogo que queres editar

    ``First Scan`` ( primeiro scan)
    Função: Procurar pelo valor que você colocou na caixa de value
    Reação ao clique: Acha todos os adress que possuem o valor que você colocou na caixa de valor.

    Next Scan (Prox.scan)
    Função: Selecionar dos adress achados anteriormente com o ``first scan``os adress que possuem o valor que você colocou agora na caixa de valores.

    Undo Scan ( desfazer scan)
    Função: Desfazer o ultimo scan.

    Settings
    Função: Ir para abas de configuração do Cheat Engine

    Botão frozen
    Função: Freezar, congelar o valor para que ele não mude.
    Reação ao clique:


    Introdução aos cheats
    PARTE 2

    Obs. Inicial: Só prossiga para essa segunda parte se já souber a primeira parte, se não entendeu algo releia, se for o caso de não entender mesmo relendo, pergunte pelo fórum, mas nunca floode.

    1.1Apresentação dos Value Types
    - Há vários value types, eu so vou mostrar agora os básicos (usado na grande maioria dos cheats)
    Byte- Usado para achar adress`s que representam algo no jogo que é ligavel e desligavel, o valor 1 eh ligado(vivo, ativado, com) e o 0 desligado(morto,desativado, sem) ex.: no jogo a um botão que ativa ou desativa algo
    4 bites- Usados para achar valores que são numero de algo, ex.: numero de vidas, seu dinheiro no jogo, sua exp, o dinheiro que você ganha no jogo, e etc:
    Float- Usados para achar valores que variam para décima, mas não para procurar valores decimais, ex: seu life, sua mana.
    Text – O nome já diz, texto, serve para achar textos no jogo, ex: O seu nick, o nome da sua sala, o nome do server, etc.

    1.2 Apresentação dos San Types
    - Há alguns scan types, irei apresentá-los para você.
    Exact Value: O mais conhecido, Serve para achar valores exatos, como 1,2,3,4,5,6,7....
    Bigger Than: Pouquíssimo usado, serve para achar um valor maior do que o que você colocou na caixa de valor, especificado, você n sabe qual e o valor, você só sabe que é maior do que o que você colocou no value box
    Smaller Than: Tampouco usado quanto o acima, serve para achar valores menores do que o da caixa de valor.
    Value beetwen: Nunca vi ser usado por qualquer pessoa, e infelizmente não fasso noção da sua função.
    Unknow Intial Value: O Segundo mais usado, serve para achar valores que você não saiba a mínima noção de qual seja.

    2.1- Como achar valores conhecidos ( exact values ).
    - As coisas acima faceis, creio que facilmente você pegou. Agora se você já domina os assuntos acima vai ser muito fácil, eu vou somente da uma dica, quando você da o primeiro scan, você acha muitos valores, talvez milhares, ai você se pergunta, como eu acho o valor certo? Simples, fassa esse valor mudar para que você de o next scan, diferente, ex.: ( to facilitando d+) você tem 3 vidas, de first scan em 3 ( em exact porque é um valor exato) perca uma vida, e procure por 2 , se ainda assim n sobrar poucos valores, perca + 1 ficara com 1 procure por 1, ai você achara o adress ou os adress`s pode ser + de 1, de 2 cliques em todos eles e eles irão para a caixa de baixo freeze todos no valor 3, e pronto,
    -Agora tente fazer com outras coisas.

    2.2- Como achar valores desconhecidos ( Unknow Values )
    -Esse é mais complexo porque acha milhares de valores, mas não é difícil,vou dar um exemplo em float e em a defeat hack (para o bixo já nascer morto). Enfrentando o bixo Proucure por unknow intial value(scan type) e float (porque eh um life e varia para dacimais), agora hite (bata) o bixo, vá em scan type e coloque decreased value (valores que baixaram)e de next scan, agora mude o scan type pra unchanged value (valores que não mudaram) vai e da uns 5 scans (sem bater no bixo), agora bate novamente e procure por decreased value, repita esse processo ate que sobre poucos valores (no max. 5) de dois cliques nos adress e freeze em 0, ele estará morto.
    Experimente fazer com outros tipos de valores e cheats (sem tutorias, deduza como seria tal cheat que ainda não foi criado), como 4 bites, text, e byte.



    Avançado 1


    [i]PARTE 3




    1.1Criação de pointers e injections

    1) Pointers:

    a) O que são pointers:
    Para simplificar ao máximo, pointers são uma espécie de função matemática, você poderia chamar de equação, mas em uma equação o "x" tem valores fixos, numa função o "x" varia e assim você pode construir um gráfico, em outras palavras uma função é ago do tipo F(x)= 25x+54 mas uma equação é algo assim 25x+54=23. No jogo, você encontrará em inúmeras ocasiões um comando como esse: mov [edi+00000052],esi este é um exemplo de pointer.

    Entendendo o pointer:
    Usando o comando que citei acima: mov [edi+00000052],esi
    você deve estar se perguntando oq é isso ai? to vendo umas letras e números juntos... mas... não sei oq fazer com isso.
    Pois bem, vamos melhorar isso, primeiro vou te falar oq esse comando faz: ele copia o valor que está no "esi" para o endereço que é obtido pela função (pointer) "[edi+00000052]".
    Lembrando que você pode encontrar diversos pointers diferentes, esse foi apenas um exemplo simples.
    você deve ter entendido a base disso, se não entendeu, releia até entender.

    c)O que fazer com um pointer:
    Neste momento você deve estar falando algo assim "Entendi oq é.... mas... oq eu faço com isso em????"
    Eu já te respondo, com um pointer você não pode fazer muita coisa, mas se você encontrar um bem simples na memória do jogo, é possivem criar um pointer no cheat engine e assim fazer com que seus manhas funcionem sempre.
    Mas, existe a principal função de um pointer que é ser usado em conjunto com "code injections" onde você faz com que uma seqüencia gigantesca de pointers vire apenas um pointer alterando o código do jogo, fique calmo, eu vou explicar como fazer o pointer no "cheat engine" e como fazer e oq é "code injection"

    2) Code injection

    a) O que é code injection?
    Acho que não tenho muito oq falar, basicamente é você colocar o seu código próprio junto do código do jogo, ou pode ser o fato de você alterar parcialmente o código do jogo de modo a te ajudar.

    Entendendo o "code injection":
    Para fazer o code injection você deve ter duas coisas: saber o código que você quer burlar e um lugar livre na memória para você poder escrever o seu código (conhecido como "code cave")

    c) Oque poso fazer com "code injection"?
    Quase tudo que você pudér imaginar, por exemplo: com um injection bem básico você pode criar um hack de bolas infinitas no piball, basta você achar o código que subtrai uma bola do total de bolas e fazer com que ele adicione uma, e como fazer isso... bom você terá um código que começa com "sub" e você deve mudar para "add" e então pronto você já terminou.


    Parte prática:

    Oque vamos usar:
    Cheat engine
    Pinball 3d
    Gunbound
    Sua cabeça


    3)Aprendendo a usar o "ce" para fazer o uso de pointers e de code injection

    Vamos usar como exemplo o pinball 3d, mas você pode fazer o mesmo em qualquer jogo.

    a) Abra o "ce", abra o pinball 3d, selecione o processo do pinball (no "ce")

    Encontre o endereço que controla o número de bolas que você tem.
    caso você não saiba: inicie um novo jogo e procure por 3; perca uma bola e procure por 2; perca outra bola e procure por 1, você deve ter encontrado um ou dois endereços.

    c) Mude o valor do endereço para 3 (não de freeze) e verifique se está correto, em caso positivo prossiga, em caso negativo procure novamente o endereço.

    d) Clique com o botão direito no endereço e depois clique em "find what writes to that adress", clique em "yes" na pergunta que aparecer. Agora você deve estar vendo uma janelinha pequena e muito provavelmente em branco.

    e) Perca uma bola no pinball, volte para o "ce", agora deve ter algum endereço escrito. Esse endereço é o que muda o número de bolas.

    Pronto, você já sabe procurar pelos endereços que alteram os valores.


    4) Fazendo um injection simples para bolas infinitas no pinball.

    Estou contando que você aprendeu o passo anterior, portando falarei diretamente do injection.

    a) Encontre o endereço que altera o valor das bolas (como descrito acima), clique nele e depois clique em "Show disassembler", uma janela grande deve aparecer.

    na nova janela, você vai usar a metade superior, perceba que o primeiro endereço que aparece é o que você viu na janela pequena, ele deve ter esse código: "mov [esi+00000146],eax" e ele indica que está copiando o valor do "eax" para o endereço do pointer [esi+00000146].
    Agora eu te pergunto, oq você pode fazer para fazer as bolas crescerem e não diminuirem? (pense um pouco sobre isso antes de ler mais)
    Eu respondo, com este código você não pode fazer isso, você pode alterar o valor da bolas ou criar um pointer para pode travar o valor, mas não vai fazer o valor crescer...
    Mas, dando uma olhada no código percebemos que estamos copiando o valor do "eax" para o endereço que temos no "ce", aquele que você tem no code list, e que você pode mudar pro valor que bem entender, encontrado procurando pelo número de bolas que você ainda pode usar, logo o valor do "eax" é igual ao que vemos no endereço.... pensando um pouco, percebemos que para o valor das bolas diminuir, o valor do "eax" deve diminuir, então... vamos procurar o código que muda o valor do "eax" você vai encontar isso: "mov eax,[ebp+08]"

    c) Com esse comando você vai fazer um hack bem simples, vamos supor que você queria ganhar 255 bolas, bom... você deve trocar esse [ebp+08] por 000000ff (255 em hex).
    Então o código fica assim: "mov eax,000000ff" aperte enter e clique em "yes" quando perguntar.

    agora você pode testar o hack.. ele deve estar funcionando.



    5) Outro injection para pinball, mas agora um pouco mais complicado:
    Bom, vamos umas este código aqui "mov [esi+00000146],eax" que você encontrou logo que usou o debugger no endereço do code-list.
    Neste injection, vamos fazer algo mais complicado, mas mais interessante, vamos fazer o número de bolas crescer constantemente.

    O que vamos fazer: vamos copiar o valor do "eax" para um outro endereço, então vamos adicionar 2 ao valor contido neste endereço (2 pq o "eax" sempre vai diminuir em uma unidade e para compensar isso, somamos 2, ou seja: x-1+2=x+1) depois vamos fazer esse novo valor ser copiado para o "eax" e então seguir com o código do jogo.

    O código ficará assim:
    mov [00451f0d],eax // Mover o valor do eax para o endereço entre []
    add dword ptr [00451f0d],02 // Adicionar 2 ao valor contido no endereço entre []
    mov eax,[00451f0d] // Copiar o valor do endereço entre [] para o eax
    mov [esi+00000146],eax // Código do jogo
    jmp jogo // Voltar para o próximo endereço do jogo, (ainda vamos ver qual será)

    Mãos a abora, você deve estar naquela janela onde você pode ver os códigos escritos na memória do jogo, então clique em tools e depois clique em "scan for code caves" ou aperte "ctrl + alt + c". Uma janela vai abrir, mude o valor do tamanho para 100 (deve estar como 12) e manda procurar. Logo depois, uma lista bem grande vai aparecer, eu escolhi este endereço: 00451ea9, mas você pode escolher o que mais gostar.
    Voltando para o "memory viewer", clique com o botão direito do mouse na janela e em seguida vá na primeira oção "go to adress", digite o endereço que você escolheu e aperte enter.
    Agora vamos fazer nosso código próprio, uma dica que dou, é você copiar o endereço do code cave para um arquivo do bloco de notas e fazer o seu código lá, antes de passar para o ce, assim fica mais facil de você perceber erros no que você está fazendo.
    Neste caso eu já dei o código para você, mas acho interessante você tentar criar o seu código próprio, pois é assim que você vai aprender, de qq maneira eu tenho que esclarecer algumas coisas no código: "Pq essa linha 'mov [00451f0d],eax' copiar o valor do eax para o endereço '00451f0d' e não para outro endereço? oq ele tem de diferente?"
    Eu respondo, esse endereço não tem nada de diferente dos outros 99 que temos vagos neste code cave, em outras palavras escolhi um endereço qualquer para fazer isso... (só escolhi um que ficasse longe do código, para não correr o risclo de colocar comandos nele e assim estragar o injection e fazer o jogo travar)

    "esse código aqui 'add dword ptr [00451f0d],02' ta muito grande, não tem algo mais facil pra digitar não?"
    Eu respondo, no ce você pode digitar algo muito menor "add [00451f0d],02' que o programa muda para o código acima, mas é sempre bom lembrar que esse é o código simplificado pelo programa e não o código real

    Imagino que você tenha conseguido colocar os códigos sem problemas no code cave, (para evitar problemas, clique sempre em yes, quando o programa perguntar, mas caso apareça um "nop" logo abaixo do seu código e você deve digitar mais códigos, simplesmente escreva o próximo código sobre o "nop")
    Mas, ainda falta o último, o "jmp" não é? Agora nos vamos achar o endereço que falta para terminar o código. Volte para o código do jogo, no endereço onde iniciamos tudo (aquele que você encontrou no debugger, se você não lembra do endereço, clique na janela do debugger e depois cliqe em "show disassembler" novamente)
    Agora você deve substituir o código "mov [esi+00000146],eax" por "jmp dode-cave", no meu caso ficou "jmp 00451ea9". Quando você der enter e depois clicar em "yes", vão aparecer alguns nop's, veja a linha seguinte ao último nop (uma que tem um código normal) copie o endereço da linha, deve ser "010175c5" então volte para o code cave e finalmente coloque o "jmp", fazendo com que fique assim "jmp 010175c5"
    Pronto, agora é só verificar se o jogo trava ou não, quando você perde uma bola.



    6) Pointers usados em conjunto com code injection.

    Primeiro quero falar que se você aprendeu tudo até aqui, não terá nenhum problema nesta parte do tutorial, mas se você não entendeu.... leita tudo até entender... pq só seguir os passos e fazer funcionar "NÃO É" entender.

    Aqui nós vamos usar o gunbound (sim... um exemplo mais interesante)
    Primeiro encontre o endereço do gift hack, se você não sabe, procure por um tutorial no forum pois existem vários tutoriais sobre isso, então não vou falar como se faz.
    Agora você deve procurar pelo código que altera o valor do endereço (aquele processo do debugger "fing what writes to that adress"), com o código em mãos vamos começar pra valer, lembrando que eu estou imaginando que você leu tudo até aqui, então não vou retomar processos feitos anteriormente, vou apenas falar oq você tem que fazer... e você deve lembrar.

    Clique em "show disassembler" e você verá o endereço na tela do disassembler, procure por um code cave grande (eu recomendo de 100 ou mais de tamanho).
    Vá para o endereço do code cave e vamos criar nosso código.
    A lógica do nosso código é bem simples, se você tem essa linha "mov [eax+24],ecx" onde o ecx é o valor que é copiado, e [eax+24] é o pointer que indica o endereço que você tem no code list do ce.
    Entretanto, você não sabe o valor do "eax", mas... nós vamos fazer uma "gambiarra". Como?, bem simples, suponha que você copie o valor do "eax" para um outro endereço e depois some 24 ao valor encontrado no endereço, não é a mesma coisa que comar 24 ao "eax"?.... é isso que nós vamos fazer...
    O código vai ficar assim:
    mov [eax+24],ecx // Código do jogo
    mov [end],eax // Mover o valor do "eax" para o endereço que você escolher
    mov [eax+24],ecx // Código do jogo
    jmp jogo // Voltar para o jogo

    Depois você deve fazer a rotina do jogo pular para o code cave, e por fim colocar o endereço do jmp do code cave, não vou falar como fazer, pq você já sabe... praticar é bom...

    Agora falta só uma coisa, o pointer.
    Vá na janela inicial do "CE" e clique em "add adress manualy", clique no box escrito "pointer".
    Dois campos aparecerão para você preencher, no primeiro você deve colocar o endereço para onde manfou copiar o "eax", no segundo você deve colocar 24 (pois é o valor que é somado ao "eax" no código do jogo).
    Quando você terminar isso, você vai poder travar esse valor em 2, e sempre que você sair e voltar pro avatar shop, basta o seu código ser lido que o gift vai estar funcionando.

    Este processo funciona para qualquer coisa, ou seja, se o delay hack possuir um pointer do tipo [eax+35] você pode fazer a mesma coisa e ter um delay hack que nunca muda de valor.


    7) Injection mais complexo, para fazer o gift hack ficar automático.

    Neste ponto eu imagino que você já consiga fazer injections sem que eu fale oq você deve escrever então eu vou apenas dar a teoria e o código, que você deve conseguir imaginar uma maneira de adaptar isso para outra coisa.

    O endereço do gift por ter vários valores, mas o que nos interessa é que ele fique sempre com o valor 2, coreto?
    Então, se conseguirmos criar um código onde ele compare o valor com 2, caso seja igual, ele volta para a rotina do jogo, se for diferente, ele muda o valor para 2 e volta para a rotina do jogo.
    Isso você entendeu, mas como fazer?
    Assim:
    code cave1
    mov [eax+24],ecx // Código original do jogo.
    cmp [eax+24],2 // Compara o valor encontrado no endereço [eax+24] com 2
    jne code-cave-2 // Pula para o endereço do code cave 2 caso seja diferente de 2
    mov [eax+24],ecx // Código do jogo
    jmp jogo // Pular para a rotina do jogo.

    code cave2 (basta ser um pouco long dos códigos acima)
    mov [eax+24],2 // Mudar o valor do endereço [eax+24] para 2
    jmp jogo // Voltar para a totina do jogo.


    Pronto, você fez um gift hack automático, basta o seu código ser lido que ta funcionando.
    Isso pode ser usado para várias coisas, um bom exemplo seria para o gold hack, imagine um código que ative o hack quando seu gold for menor que 5000 e desative quando o valor for maior que 5000, pois isso é possivel de fazer, mas.... acho que é uma coisa que você deve tentar fazer por você mesmo... assim você aprenderá mais sobre o assunto.



    8) Caso você tenha dúvidas, poste-as aqui que eu ou outro usuário tentará ajudar.
    Eu só criei este tutorial para fazer com que os manhas melhorem, e assim fica mais facil de criar coisas novas.


    9) Sugestões para você treinar:
    Tente criar manhas com injection e pointes para jogos offline.


    FIM[i]

    Esse eh o fim deste Tutorial.


    OBS: nao sejam ingratos agradeçam e comentem!!!
    Última edição por wolkmen; 08-09-2008 às 12:24 PM.

  2. Os seguintes 11 Usuários disseram Obrigado wolkmen por essa útil mensagem:


  3. #2
    Membro Avançado Avatar de Zarcarius
    Data de Ingresso
    Jul 2008
    Localização
    Perto do meu vizinho
    Posts
    337
    Agradecer
    44
    Agradecido
    120 vezes

    Padrão

    Vou ti perceguir ate a morte !!!!!!!!! xD
    Cara... primeiro kde os créditos pq tpo c acabou de postar uma coisa ali e ja postou tudo isso em mto poko tempo, quer dizer que 90% de chance de isso ser Control C e V e vc nao postou os créditos man u.u" le um pouco as regras plix

  4. #3
    Membro Avatar de wolkmen
    Data de Ingresso
    Aug 2008
    Posts
    82
    Agradecer
    6
    Agradecido
    112 vezes

    Padrão

    o cara !!! eu tenho uma comu no orkut!! e dai eu copio e colo!!!

    os creditos sou eu mesmo!!!

    eu pesquisei e fiz esse topico!!!

  5. #4
    Membro Avançado Avatar de Zarcarius
    Data de Ingresso
    Jul 2008
    Localização
    Perto do meu vizinho
    Posts
    337
    Agradecer
    44
    Agradecido
    120 vezes

    Padrão

    Mas mesmo que vc tenha pesquisado vc tem que coloca da onde vc pesquisou, mesmo que seja da sua comu mas tiraram de algum outro lugar ;D

  6. #5
    Quero ser MoD, entao LUTO Avatar de L kun
    Data de Ingresso
    Aug 2008
    Localização
    procura pelo google earth... se vir um cara bonito e famoso so eo xD
    Posts
    69
    Agradecer
    6
    Agradecido
    12 vezes

    Padrão

    cara, realmente aprendi a faze hacks q n existem agora! mto vlew!!

  7. #6
    Membro Avançado Avatar de BlackMoses
    Data de Ingresso
    Jun 2008
    Localização
    Winterfell
    Posts
    5.591
    Agradecer
    326
    Agradecido
    1.635 vezes

    Padrão

    Muito bom tópico.
    Obrigado por Postar

  8. #7
    Membro Novo Avatar de 2442572
    Data de Ingresso
    Feb 2008
    Posts
    13
    Agradecer
    2
    Agradecido
    0 vezes

    Padrão

    Li só um,a parte, o resto deu preguissa xD
    Mto bom, agora aprendi a faze hack.

    OBS: Se alguem soube como faz CE me avisa.

  9. #8
    Membro Avatar de wolkmen
    Data de Ingresso
    Aug 2008
    Posts
    82
    Agradecer
    6
    Agradecido
    112 vezes

    Padrão

    jah que gostaram nao custa nada agradeçer neh!!

  10. #9
    Idioteque. Avatar de 'Cz
    Data de Ingresso
    May 2007
    Localização
    ۩
    Posts
    4.724
    Agradecer
    847
    Agradecido
    3.054 vezes

    Padrão

    Leecher ¬¬

    Vi esse seu tópico exatamente do mesmo geito em outro fórum!!

    Mas, duas pequenas diferenças...
    1a = A data eh de 2007
    2a = No final estava escrito isso:


    "Creditoss
    Creditos a MeLLo que desenvolveu o tutorial de pointers e injection, eu so fiz disponibilizalos para algumas pessoas que tavez nao fizessem a minima ideia do que fosse.
    Creditos a FlaV1n
    que desenvolvi as partes,Apresentação do Cheat Engine, Apresentação e Função dos Ícones Básico do CE e a parte de Introdução aos cheats"

    Leecher ¬¬

 

 

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •