LifeGames Forums

| O seu fórum de games, dicas, tutoriais, downloads, e muito mais


Você não está conectado. Conecte-se ou registre-se

Guia Básico - Introdução a Game Hacking [EM CONSTRUÇÃO 2/11]

Ir em baixo  Mensagem [Página 1 de 1]

novac_ft

avatar
Moderador
Moderador
Este tópico se encontra em construção, pois o mesmo contém um conteúdo extenso.

Este tópico visa apresentar os conceitos básicos para se criar um cheat/bot/hack para qualquer jogo. Eu não sou Cheater, pra mim ainda é um pouco obscuro toda a parte de engines como DirectX, CryEngine etc. Eu realmente gosto de entender o que faço, desde includes à manipular a memória.
Vamos falar do que interessa.

Vale ressaltar que todos os códigos inclusos neste tópico, serão em inglês. Porque? Bem se você não pretende seguir em área de TI como profissão, tudo bem seu código ter variáveis e etc em português, caso contrário é importante, primeiro por que a sintaxe da própria linguagem de programação já está em inglês e será muito confuso para qualquer pessoa ler código que está metade em inglês e metade na língua do autor do código. Pior ainda é misturar as duas línguas dentro de uma mesma função ou classe. Segundo porque, goste ou não, inglês é linguagem universal para programação (e para computadores em geral), de modo que a única forma de garantir que seu código será compreendido pelo resto de mundo será escrevê-lo em inglês.

Tópicos Abordados
1. Linguagens de Programação
2. Aprender Assembly?
3. Memória Principal (RAM)
4. Windows APIs
5. Formato Portable Executable (PE)
6. Disassemblers
7. Debuggers
8. CheatEngine
9. Tipagem
10. Construindo um Cheat em C++ detalhado
11. Considerações Finais


1. Linguagens de Programação
Você deve saber que linguagens são ferramentas, se ouviu por aí que linguagem X é melhor que Z, esquece isso. Pense que existe a linguagem que se adapte melhor a uma determinada necessidade.
Neste caso, as mais usadas em Cheats são Delphi, C, C++, Visual Basic, C#.
Pegue um livro, veja tutoriais, aprenda bem uma linguagem, não fique só em copy & paste de “Como criar trainer”.

2. Aprender Assembly?

Talvez seja um dos assuntos mais obscuros que faz muita gente desistir antes mesmo de começar. Mas na verdade você não precisa aprender a linguagem assembly em sí. Primeiro entenda que ao usar Disassemblers, o código High-Level (Interpretado por Humanos) é convertido para Linguagem de Máquina, onde o Disassembler converte para uma linguagem Low-Level (Assembly).
O que eu quero dizer é que você não vai projetar softwares em assembly, você só precisa saber o que cada Operador faz e interpretar no OllyDbg ou IDA.

Interpretando no OllyDbg: A primeira dica que deixo aqui é. NÃO TENTE ENTENDER O QUE FAZ CADA LINHA. Isso é perda de tempo. Aprenda como o Olly funciona, entenda a pilha, entenda os registradores e abrace as Flags. Você irá aprender como o software funciona em baixo nível, utilizando todos os recursos que o Olly oferece, e não tentando desvendar o que cada linha em assembly faz.

Interpretando no IDA: Eu particularmente sou noob no IDA, aprendi a mexer mais em Olly. Já que no Olly você analisa dinamicamente (Processo em tempo real), e no IDA é análise estática (Análise do arquivo). Mas creio que no IDA você não irá precisar mais do que conhecer o que cada Operador de Assembly faz, e sim aprender a utilizar todos os recursos do software IDA.

Uma última dica é que nem todos os operadores de assembly, você vai ver no Disassembly de código. Note os mais usados em softwares como OllyDbg e aprenda eles. Como eu disse, você não precisa saber projetar software em Assembly para praticar engenharia reversa.

Ver perfil do usuário

Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum