Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>Nick Cano</p><p>Prefácio do Dr. Jared DeMott</p><p>Desenvolvendo Bots Autônomos</p><p>para Jogos Online</p><p>Hackear jogos</p><p>www.allitebooks.com</p><p>Machine Translated by Google</p><p>Hackear jogos</p><p>www.allitebooks.com</p><p>Machine Translated by Google</p><p>www.allitebooks.com</p><p>Machine Translated by Google</p><p>por Nick Cano</p><p>São Francisco</p><p>Bots para jogos online</p><p>D esenvolvimento Autônomo</p><p>JOGO</p><p>HACKEANDO</p><p>www.allitebooks.com</p><p>Machine Translated by Google</p><p>jogos e criar bots para alterar seu ambiente de jogo. Abrange os conceitos básicos de hacking de jogos, incluindo</p><p>engenharia reversa, análise de código assembly, manipulação de memória programática, hacks persistentes, hacks</p><p>responsivos e injeção de código."-- Fornecido pelo editor.</p><p>ISBN 978-1-59327-669-0 -- ISBN 1-59327-669-9</p><p>Resumo: "Um guia prático para hackear jogos de computador. Mostra aos programadores como dissecar computadores</p><p>QA76.76.I58C36 2016</p><p>páginas cm</p><p>Inclui índice.</p><p>Hacking de jogos: desenvolvendo bots autônomos para jogos online / por Nick Cano.</p><p>Cano, Nick, autor.</p><p>1. Agentes inteligentes (software de computador) 2. Programação para Internet. 3. Jogos na Internet--</p><p>005.8--dc23</p><p>2015036294</p><p>Programação. 4. Hackear. I. Título.</p><p>Ilustração da capa: Ryan Milner</p><p>Para obter informações sobre distribuição, traduções ou vendas a granel, entre em contato diretamente com a No Starch Press, Inc.:</p><p>Dados de catalogação na publicação da Biblioteca do Congresso</p><p>Primeira impressão</p><p>Revisor Técnico: Stephen Lawler</p><p>marca comercial.</p><p>Editora de Desenvolvimento: Jennifer Griffith-Delgado</p><p>Impresso nos EUA</p><p>ISBN-10: 1-59327-669-9</p><p>Compositor: Laurel Chun</p><p>telefone: 415.863.9900; info@nostarch.com</p><p>www.nostarch.com</p><p>20 19 18 17 16 1 2 3 4 5 6 7 8 9</p><p>Editora: Rachel Monaghan</p><p>Indexador: BIM Creatives, LLC</p><p>Editora: William Pollock</p><p>No Starch Press e o logotipo No Starch Press são marcas registradas da No Starch Press, Inc. Outros nomes de produtos e</p><p>empresas mencionados aqui podem ser marcas registradas de seus respectivos proprietários. Em vez de usar um símbolo de marca</p><p>registrada em cada ocorrência de um nome de marca registrada, utilizamos os nomes apenas de forma editorial e para o benefício do</p><p>proprietário da marca registrada, sem intenção de violar os</p><p>ISBN-13: 978-1-59327-669-0</p><p>Revisora: Paula L. Fleming</p><p>As informações contidas neste livro são distribuídas “como estão”, sem garantia. Embora todas as precauções tenham sido tomadas</p><p>na preparação deste trabalho, nem o autor nem a No Starch Press, Inc. terão qualquer responsabilidade perante qualquer pessoa ou</p><p>entidade com relação a qualquer perda ou dano causado ou supostamente causado direta ou indiretamente pelo informações nele</p><p>contidas.</p><p>Sem amido Press, Inc.</p><p>Todos os direitos reservados. Nenhuma parte deste trabalho pode ser reproduzida ou transmitida de qualquer forma ou por qualquer</p><p>meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou por qualquer sistema de armazenamento ou recuperação de</p><p>informações, sem a permissão prévia por escrito do proprietário dos direitos autorais e do editor.</p><p>Design de interiores: Octopod Studios</p><p>245 8th Street, São Francisco, CA 94103</p><p>Editora de Produção: Laurel Chun</p><p>Hacking de jogos. Copyright © 2016 por Nick Cano.</p><p>www.allitebooks.com</p><p>Machine Translated by Google</p><p>Nick Cano escreveu seus primeiros scripts para servidores de jogos de código aberto quando</p><p>tinha 12 anos e começou um negócio vendendo seus bots quando tinha 16. Ele faz parte da</p><p>comunidade de hackers de jogos desde então e aconselha desenvolvedores e designers de jogos</p><p>sobre as melhores práticas para proteger seus jogos contra bots. Nick também tem anos de</p><p>experiência na detecção e defesa contra malware e já falou em muitas conferências sobre suas</p><p>pesquisas e ferramentas.</p><p>Stephen Lawler é o fundador e presidente de uma pequena empresa de consultoria em segurança</p><p>e software de computador. Ele trabalha ativamente em segurança da informação há mais de 10</p><p>anos, principalmente em engenharia reversa, análise de malware e pesquisa de vulnerabilidades.</p><p>Ele foi membro da equipe de análise de malware da Mandiant e ajudou em invasões de computador</p><p>de alto perfil que afetaram diversas empresas da Fortune 100. Stephen também desenvolveu e</p><p>ministra o curso Practical ARM Exploitation, que foi oferecido na BlackHat e em várias outras</p><p>conferências de segurança nos últimos cinco anos.</p><p>www.allitebooks.com</p><p>Sobre o autor</p><p>Sobre o Revisor Técnico</p><p>Machine Translated by Google</p><p>www.allitebooks.com</p><p>Machine Translated by Google</p><p>PARTE 3: PROCESSO DE Marionetas</p><p>PARTE 4: CRIANDO BOTS</p><p>PARTE 2: DISSECÇÃO DO JOGO</p><p>PARTE 1: FERRAMENTAS DO COMÉRCIO</p><p>www.allitebooks.com</p><p>Capítulo 4: Do código à memória: uma introdução geral. . . . . . . . . . . . . . . . . . . . . . . . . . . . 65</p><p>Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIX</p><p>Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265</p><p>Agradecimentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii</p><p>Capítulo 6: Lendo e gravando na memória do jogo. . . . . . . . . . . . . . . . . . . . . . . . . 119</p><p>221</p><p>Capítulo 1: Verificando a memória usando o Cheat Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3</p><p>Capítulo 8: Manipulando o fluxo de controle em um jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149</p><p>Capítulo 7: Injeção de Código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133</p><p>Capítulo 3: Reconhecimento com Process Monitor e Process Explorer . . . . . . . . . . . . . . . . 49</p><p>Capítulo 9: Usando a percepção extra-sensorial para afastar a névoa da guerra. . . . . . . . . . . . . . . . . 189</p><p>Capítulo 2: Depurando jogos com OllyDbg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23</p><p>Capítulo 11: Juntando tudo: escrevendo bots autônomos . . . . . . . . . . . . . . . . . . . . . .</p><p>Capítulo 5: Análise Forense de Memória Avançada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97</p><p>Prefácio do Dr. Jared DeMott. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv</p><p>Capítulo 10: Hacks responsivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203</p><p>Capítulo 12: Permanecendo Escondido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245</p><p>Conteúdo resumido</p><p>Machine Translated by Google</p><p>www.allitebooks.com</p><p>Machine Translated by Google</p><p>Scanner de memória do Cheat Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5</p><p>Gerador de treinador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9</p><p>Considerações finais. . .. .</p><p>Cadeias de ponteiros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>. . . .</p><p>Como este livro está organizado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>Nova digitalização do ponteiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17</p><p>. .</p><p>Modificação manual com Cheat Engine. . . . . . . . . . .</p><p>. . . . . . . . . . . . . . . . . . 8</p><p>xx</p><p>. .</p><p>XXII</p><p>Varredura de ponteiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>. . . .</p><p>Por que hackear jogos? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>Próximas verificações. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7</p><p>22. .</p><p>Verificação de ponteiro com Cheat Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14</p><p>.</p><p>Modificação de memória em jogos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8</p><p>Como usar este livro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIV</p><p>. . . .</p><p>Varredura Básica de Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4</p><p>xxi</p><p>Procurando por Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>. .</p><p>11</p><p>. . . .</p><p>Executando sua primeira verificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6</p><p>Uma breve história de hackers em jogos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>. .</p><p>21</p><p>Sobre os recursos on-line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIV</p><p>Tabelas de truques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7</p><p>. . . .</p><p>Por que os scanners de memória são importantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4</p><p>Procurando padrões de montagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19</p><p>. . . .</p><p>Tipos de digitalização. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6</p><p>Pré-requisitos para o Leitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>11</p><p>.</p><p>Noções básicas de digitalização com ponteiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12</p><p>. . .</p><p>Quando você não consegue obter um único resultado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7</p><p>. . . .</p><p>Ambiente de script Lua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18</p><p>. .</p><p>xx</p><p>www.allitebooks.com</p><p>Parte 1</p><p>Ferramentas do comércio</p><p>XIXIntrodução</p><p>1</p><p>Verificando a memória usando o Cheat Engine</p><p>xviiAgradecimentos</p><p>xvPrefácio do Dr. Jared DeMott</p><p>3</p><p>Conteúdo em De ta l</p><p>Machine Translated by Google</p><p>Visualizando e Editando o Conteúdo do Registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29</p><p>Considerações finais. . 47 . .</p><p>Interface de usuário e controles do Process Explorer . . . . . . . . . . . . . . . . . . . . . . . . 56</p><p>. . . .</p><p>. .</p><p>Dados Numéricos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67</p><p>. .</p><p>Pausando a execução quando o nome de um jogador específico é impresso. . . . . . . . . . . . . 37</p><p>. . . .</p><p>Rastreamento através do código Assembly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32</p><p>x Conteúdo em detalhes</p><p>Copiando código Assembly com Asm2Clipboard. . . . . . . . . . . . . . . . . . . . . . . 42</p><p>. .</p><p>Registrando eventos no jogo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50</p><p>. .</p><p>. .</p><p>Usando Operadores no Expression Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . 34</p><p>. .</p><p>. . .. .</p><p>Como variáveis e outros dados se manifestam na memória. . . . . . . . . . . . . . . . . . . . . . . . . . 66</p><p>Expressões OllyDbg em ação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36</p><p>.</p><p>. . . .</p><p>Criando patches de código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31</p><p>. . . .</p><p>Considerações finais. . 61 . .</p><p>. .</p><p>Monitoramento de Processos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50</p><p>.</p><p>. .</p><p>Usando expressões em pontos de interrupção. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34</p><p>. .</p><p>. . . .</p><p>Visualizando e Navegando no Código Assembly de um Jogo . . . . . . . . . . . . . . . . . . . . 27</p><p>Visualizando o fluxo de controle com OllyFlow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45</p><p>Acessando o conteúdo da memória com expressões. . . . . . . . . . . . . . . . . . . . . . . . 36</p><p>. .</p><p>Explorador de processos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55</p><p>. .</p><p>. . . .</p><p>. .</p><p>Visualizando a pilha de chamadas de um jogo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30</p><p>Lidar com opções de manipulação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59</p><p>. .</p><p>. .</p><p>Estruturas de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71</p><p>Plug-ins OllyDbg para hackers de jogos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42</p><p>Mecanismo de expressão do OllyDbg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33</p><p>. . .</p><p>. . . .</p><p>Janela da CPU do OllyDbg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26</p><p>Controlando o OllyDbg através da linha de comando. . . . . . . . . . . . . . . . . . . . . . 43</p><p>.</p><p>Depurando um jogo para coletar mais dados. . . . . . . . . . . . . . . . . . . . . . . . . . . 53</p><p>. .. . .</p><p>. .</p><p>Visualizando e pesquisando a memória de um jogo . . . . . . . . . . . . . . . . . . . . . . . . . . 29</p><p>. .</p><p>Examinando Propriedades do Processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57</p><p>.</p><p>Dados de sequência. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69</p><p>. .</p><p>Pausando a execução quando a saúde do seu personagem cai. . . . . . . . . . . . . . . . 39</p><p>. .</p><p>. . .</p><p>. . . .</p><p>Adicionando Cheat Engine ao OllyDbg com Cheat Utility. . . . . . . . . . . . . . . . . . . . 42</p><p>Uma breve olhada na interface do usuário do OllyDbg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24</p><p>. .</p><p>Inspecionando Eventos no Log do Monitor de Processo . . . . . . . . . . . . . . . . . . . . . . . . . 52</p><p>. .</p><p>Trabalhando com Elementos Básicos de Expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35</p><p>3</p><p>e Explorador de Processos 49</p><p>65</p><p>23</p><p>Reconhecimento com Monitor de Processo</p><p>Depurando jogos com OllyDbg</p><p>2</p><p>Do código à memória: uma cartilha geral</p><p>4</p><p>Parte 2</p><p>Dissecação de Jogo</p><p>Machine Translated by Google</p><p>Processo de marionetes</p><p>Parte 3</p><p>Conteúdo em detalhes</p><p>119Lendo e gravando na memória do jogo</p><p>7</p><p>97</p><p>6</p><p>Análise Forense de Memória Avançada</p><p>5</p><p>Injeção de código 133</p><p>. .</p><p>. .</p><p>122</p><p>Instruções importantes do x86 para hackear jogos. . . . . . . . . . . . . . . . . . . . . . . . 89</p><p>. .</p><p>. .</p><p>. .. .</p><p>. .</p><p>. .</p><p>Randomização do layout do espaço de endereço. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128</p><p>. .</p><p>. .</p><p>Acessando a memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>.</p><p>. .</p><p>XI</p><p>122</p><p>. .</p><p>. .</p><p>. .</p><p>. ..</p><p>. .</p><p>. .. .</p><p>Alterando a proteção de memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126</p><p>A classe std::vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108</p><p>. .</p><p>. .</p><p>. .</p><p>Traduzindo o Assembly para Shellcode. . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>135</p><p>121</p><p>. .</p><p>. .</p><p>. .. .</p><p>A pilha de chamadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86</p><p>. .</p><p>. .. .</p><p>Diferenciando atributos de proteção de memória do Windows x86. . . . . . . . . . . . . . 125</p><p>. .</p><p>A classe std::string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105</p><p>. .. . .</p><p>.</p><p>Trabalhando com OpenProcess() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>. .</p><p>. .</p><p>Criando uma Caverna de Código Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134</p><p>. .</p><p>. .. .</p><p>. .</p><p>Registros do Processador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81</p><p>. .. .</p><p>.</p><p>.</p><p>124</p><p>. .</p><p>Identificando estruturas complexas em dados de jogos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105</p><p>.</p><p>. .</p><p>Obtendo identificadores de processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121</p><p>. .</p><p>. .</p><p>.</p><p>. .</p><p>Sintaxe de comando. . 79</p><p>. .</p><p>. .</p><p>. ..</p><p>. .</p><p>.</p><p>. .</p><p>Determinando novos endereços após atualizações do jogo. . . . . . . . . . . . . . . . . . . . 101</p><p>. .</p><p>. .. .</p><p>. . 120</p><p>. .</p><p>. .</p><p>Injetando cavernas de código com injeção de thread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134</p><p>. .</p><p>. .</p><p>.</p><p>Curso intensivo de montagem x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78</p><p>.</p><p>.</p><p>Considerações finais. . . 130</p><p>. .</p><p>.. .</p><p>.</p><p>Escrevendo funções de acesso à memória modeladas. . . . . . . . . . . . . . . . . . . . . . . 123</p><p>. .</p><p>. .</p><p>Obtendo o identificador do processo do jogo. .</p><p>. .</p><p>. .. .</p><p>.</p><p>. .. .</p><p>. .</p><p>. .</p><p>. .. .</p><p>. .</p><p>Ignorando ASLR na produção. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128</p><p>e WriteProcessMemory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123</p><p>Considerações finais. . . 118</p><p>. .</p><p>Encontrando a saúde do jogador com OllyDbg. . . . . . . . . . . . . . . . . . . . . . . . . . . 99</p><p>. .</p><p>. .</p><p>. .</p><p>. .</p><p>. .. .</p><p>. .</p><p>. . .</p><p>Classes e Tabelas VF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74</p><p>. .</p><p>. .</p><p>. .</p><p>. .</p><p>Desativando ASLR para simplificar o desenvolvimento de bots . . . . . . . . . . . . . . . . . . . . . . . . 128</p><p>Acessando um valor na memória com ReadProcessMemory()</p><p>A classe std::map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114</p><p>. .</p><p>. .</p><p>Proteção de memória. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>Deduzindo o propósito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98</p><p>. .</p><p>. .</p><p>. .Considerações finais. . 96</p><p>. .</p><p>Sindicatos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73</p><p>. .</p><p>. .. .</p><p>. .</p><p>Trabalhando com ReadProcessMemory() e WriteProcessMemory() . . . . . . . . .</p><p>. .</p><p>A classe std::list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110</p><p>. .</p><p>. .</p><p>Varredura avançada de memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98</p><p>.</p><p>Machine Translated by Google</p><p>Criando bots</p><p>Parte 4</p><p>Conteúdo em detalhes</p><p>Manipulando o fluxo de controle em um jogo</p><p>Névoa da Guerra</p><p>149</p><p>8</p><p>Usando a percepção extra-sensorial para afastar</p><p>189</p><p>9</p><p>Injetando DLLs para controle total. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142</p><p>. .</p><p>Conectando para redirecionar a execução do jogo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153</p><p>. .</p><p>Conectando a função RTMPS decode(). . . . . . . . . . . . . . . . . . . . . . . . . . . . 172</p><p>. . . .</p><p>. .. .</p><p>O ciclo de desenho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176</p><p>. .</p><p>Considerações finais. . . 147 .</p><p>"Sequestrando o thread principal de um jogo para executar cavernas de código" . . . . . . . . . . . . . . . . . . . . . 138</p><p>Escrevendo um gancho para Reset() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183</p><p>.</p><p>Adicionando uma fonte de luz ambiente central. . . . . . . . . . . . . . . . . . . . . . . . . . . 190</p><p>. .. .</p><p>Conectando a função RTMPS encode(). . . . . . . . . . . . . . . . . . . . . . . . . . . . 171</p><p>. . . .</p><p>xii</p><p>. . . .</p><p>Aplicando Jump Hooks e VF Hooks ao Direct3D. . . . . . . . . . . . . . . . . . . . . . . . . . . 175</p><p>. .</p><p>Ignorando ASLR em uma DLL injetada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146</p><p>. .</p><p>Enganchamento IAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160</p><p>. . .</p><p>Escrevendo um gancho para EndScene() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182</p><p>. .</p><p>Revelando detalhes ocultos com Lighthacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190</p><p>. .. .</p><p>Acessando o RTMP Goldmine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169</p><p>. .</p><p>Encontrando e congelando o thread principal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 141</p><p>. .. .</p><p>Como fazer NOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151</p><p>. .</p><p>.</p><p>Colocando os Ganchos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173</p><p>. .</p><p>.</p><p>Acessando memória em uma DLL injetada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145</p><p>Enganchamento de mesa VF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156</p><p>. . .</p><p>. .</p><p>Usando injeção de thread para executar a caverna de código. . . . . . . . . . . . . . . . . . . . 137</p><p>. . . .</p><p>Aplicando ganchos de chamada ao Adobe AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169</p><p>. . . .</p><p>Gerando Skeleton Shellcode e alocando memória. . . . . . . . . . . . . . . . 140</p><p>. .</p><p>Quando NOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150</p><p>Considerações finais. . . 185 . .</p><p>Criando Outros Tipos de Lighthacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192</p><p>.</p><p>. .</p><p>Enganando um processo para carregar sua DLL. . . . . . . . . . . . . . . . . . . . . . . . . . . 143</p><p>Chamada de engate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153</p><p>. . . .</p><p>Escrevendo a Caverna do Código na Memória. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136</p><p>. .</p><p>Encontrando o dispositivo Direct3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177</p><p>. .</p><p>Conhecimento prévio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190</p><p>. .</p><p>Salto de gancho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165</p><p>. . . .</p><p>. .</p><p>Construindo a Caverna do Código Assembly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138</p><p>NOPing para remover código indesejado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150</p><p>Qual é o próximo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184</p><p>. .</p><p>Aumentando a Luz Ambiente Absoluta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191</p><p>.</p><p>Machine Translated by Google</p><p>203</p><p>Escrevendo bots autônomos</p><p>Hacks responsivos</p><p>10</p><p>Juntando tudo:</p><p>221</p><p>11</p><p>Detectando pistas visuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205</p><p>. .</p><p>. . . .</p><p>. .</p><p>Resistindo aos ataques de controle de multidões do inimigo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 218</p><p>Combinando</p><p>Teoria de Controle e Máquinas de Estado. . . . . . . . . . . . . . . . . . . . . . . . . . . . 225</p><p>Um algoritmo de pesquisa A*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234</p><p>. .</p><p>. .</p><p>. . 192</p><p>Exibindo dados ocultos com HUDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198</p><p>. .</p><p>. . . .</p><p>.</p><p>. .</p><p>. .</p><p>. .</p><p>.</p><p>.</p><p>Monitoramento de memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204</p><p>. .</p><p>.</p><p>. .</p><p>. .</p><p>Fazendo o curador perfeito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218</p><p>Máquinas de Estado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223</p><p>. .</p><p>. . .</p><p>. .</p><p>Revelando inimigos sorrateiros com Wallhacks.</p><p>Arranhar a superfície dos Zoomhacks de gancho. . . . . . . . . . . . . . . . . . . . . . 198</p><p>.</p><p>. .</p><p>. .</p><p>Considerações finais. . . 219</p><p>Uma máquina de estados hipotéticos complexos. . . . . . . . . . . . . . . . . . . . . . . . . . . 228</p><p>. . .</p><p>. .</p><p>Hacks automatizados comuns e interessantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241</p><p>.</p><p>Renderizando com Z-Buffering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193</p><p>. .</p><p>. .</p><p>Usando ganchos para localizar dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200</p><p>. .</p><p>. .</p><p>. .</p><p>. .</p><p>Executando ações no jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>. .</p><p>. .</p><p>Interceptando tráfego de rede. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206</p><p>Evitando Mana Desperdiçada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219</p><p>Uma máquina de estado de cura básica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225</p><p>Quando as pesquisas A* são particularmente úteis. . . . . . . . . . . . . . . . . . . . . . . . . 240</p><p>. . .</p><p>.</p><p>. .</p><p>. . . .</p><p>Criando um HUD de experiência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199</p><p>. .</p><p>. .</p><p>. .</p><p>. .</p><p>. .</p><p>Automatizando o Combate com Warbots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243</p><p>Impressão digital do modelo que você deseja revelar. . . . . . . . . . . . . . . . . . . . . . . 196</p><p>. .</p><p>. . . .</p><p>. .</p><p>. .</p><p>Uma visão geral de outros hacks ESP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201</p><p>. .</p><p>. .</p><p>. .</p><p>Envio de pacotes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215</p><p>211</p><p>Pathfinding com algoritmos de pesquisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232</p><p>. .. .</p><p>. .</p><p>Pilhagem com Cavebots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241</p><p>. .</p><p>Criando um Wallhack Direct3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194</p><p>. . . .</p><p>. .</p><p>.</p><p>. .</p><p>. .</p><p>.</p><p>Emulando o teclado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p><p>211</p><p>Correção de erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230</p><p>xiii</p><p>.</p><p>. . . .</p><p>. .</p><p>. .</p><p>Observando eventos de jogos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204</p><p>.</p><p>Teoria de Controle e Hacking de Jogos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222</p><p>. .</p><p>. .</p><p>Como os obstáculos atrapalham as pesquisas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233</p><p>. .</p><p>. . . .</p><p>. .</p><p>Usando NOPing Zoomhacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197</p><p>. .</p><p>Obtendo um campo de visão mais amplo com Zoomhacks. . . . . . . . . . . . . . . . . . . . . . . . . . . 197</p><p>. . . .</p><p>. .</p><p>. . . .</p><p>Considerações finais. . . 202</p><p>. .</p><p>. .</p><p>Amarrando as peças. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218</p><p>Duas técnicas de pesquisa comuns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233</p><p>. .</p><p>. . . .</p><p>Considerações finais. 244</p><p>Conteúdo em detalhes</p><p>Machine Translated by Google</p><p>Validação Binária. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248</p><p>Ensinando um bot a detectar depuradores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251</p><p>. .</p><p>Minimizando a pegada de um bot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250</p><p>Considerações finais. . . 263 . . . .. ..</p><p>O kit de ferramentas GameGuard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248</p><p>O kit de ferramentas PunkBuster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246</p><p>Derrotando a detecção baseada em assinatura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256</p><p>. . . .. .. .</p><p>Capturas de tela. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247</p><p>Rootkit em modo kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249</p><p>Derrotando a validação binária. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259</p><p>. .</p><p>Derrotando a Heurística. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262</p><p>O kit de ferramentas antifraude da ESEA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247</p><p>Verificações de cache DNS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248</p><p>Gerenciando cuidadosamente a pegada de um bot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250</p><p>Mascarando sua pegada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251</p><p>. . . .. .</p><p>Técnicas anti-depuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255</p><p>Software anti-cheat proeminente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246</p><p>Falso-positivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248</p><p>. . . . . . . . .</p><p>xiv Conteúdo em detalhes</p><p>Derrotando capturas de tela. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258</p><p>Detecção baseada em assinatura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246</p><p>Rootkit de modo de usuário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248</p><p>. . . . .. . .</p><p>O Kit de Ferramentas do Diretor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249</p><p>Validação de hash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247</p><p>O kit de ferramentas VAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247</p><p>Derrotando um Rootkit Anti-Cheat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261</p><p>. . . .</p><p>245Ficar escondido</p><p>12</p><p>265Índice</p><p>Machine Translated by Google</p><p>Você já se perguntou como os trapaceiros trapaceiam? Sempre quis corrigir ou proteger</p><p>seu jogo? Pegue um café, abra seu laptop e divirta-se.</p><p>Bênçãos para você e os seus,</p><p>Dr.</p><p>Nick faz isso. Ele é divertido. Ele é brilhante. Ele trabalha duro. E provavelmente</p><p>Neste livro inédito, Nick explica o que significa desmontar jogos. Ele</p><p>ensina as ferramentas de investigação de software e os truques do comércio.</p><p>Você aprenderá sobre os componentes internos do jogo, como separá-los e</p><p>como modificar o jogo. Por exemplo, Nick</p><p>ensina como evitar o anti-cheat</p><p>para que você possa automatizar o jogo. Não seria legal ter seu próprio bot</p><p>que coleta experiência, ouro, itens e muito mais – tudo isso enquanto você estiver fora?</p><p>Provavelmente o mais pertinente: ele é um dos raros que entende a</p><p>interseção entre jogos, hacking e codificação. Ele trabalhou nesse nicho e</p><p>criou bots lucrativos.</p><p>Nick é ótimo. Primeiro nos demos bem de todas as maneiras certas e erradas, como</p><p>você pode imaginar. Estou na área de segurança há algum tempo; ele é um pouco mais</p><p>novo. Eu tive a escolaridade, enquanto ele não gosta muito da faculdade. Eu sou um cara</p><p>de fé, e ele não. O interessante é que nada disso importa; nós nos divertimos muito de</p><p>qualquer maneira. Idade, raça, sexo, formação — quando se trata de jogos, hacking e</p><p>codificação, ninguém se importa!</p><p>Especialista em segurança e construtor de software</p><p>Prefácio</p><p>Machine Translated by Google</p><p>Machine Translated by Google</p><p>e o revisor técnico Stephen Lawler. Obrigado também aos meus amigos Cavitt</p><p>“synt4x” Glover e Vadim Kotov, que reservaram um tempo para folhear alguns capítulos</p><p>antes de submetê-lo, e a Jared DeMott por escrever o prefácio do livro.</p><p>Gostaria de agradecer a todas as pessoas do TPForums que me acolheram quando</p><p>eu era apenas uma criança ingênua e me ajudaram a aprender como hackear jogos. Em</p><p>particular, devo meus agradecimentos a Joseph “jo3bingham” Bingham, Ian Obermiller</p><p>e Jeremic, que tiveram uma influência significativa em minha progressão como hacker,</p><p>e ao fundador da TPForums, Josh “Zyphrus” Hartzell, que me ajudou a encontrar minha</p><p>confiança e habilidades quando meu futuro parecia mais sombrio.</p><p>Agradecimentos à revisora Rachel Monaghan, à revisora Paula L. Fleming,</p><p>Escrever este livro foi uma jornada incrível e eu não poderia ter feito isso sozinho. A No Starch</p><p>Press tem me apoiado extremamente e trabalhado em estreita colaboração comigo para levar este</p><p>livro do conceito à realidade. Em particular, gostaria de agradecer à minha editora de</p><p>desenvolvimento, Jennifer Griffith-Delgado, e à minha editora de produção, Laurel Chun. Bill Pollock,</p><p>Tyler Ortman, Alison Law e o restante da equipe da No Starch são pessoas maravilhosas e estou</p><p>satisfeito por ter trabalhado com eles.</p><p>Obrigado também a toda a minha equipe do fórum e a todos os clientes que já</p><p>usei meus bots. E, finalmente, obrigado à minha família, amigos e colegas, que</p><p>foram divertidos e solidários e ajudaram a me transformar no homem que sou hoje.</p><p>Agradecimentos</p><p>Machine Translated by Google</p><p>Machine Translated by Google</p><p>Na verdade, os hackers de jogos gostam de</p><p>jogar o jogo que se esconde atrás da cortina: um jogo de</p><p>gato e rato entre eles e os desenvolvedores do jogo. Enquanto</p><p>Um equívoco comum no mundo dos jogos</p><p>online é a ideia de que o único jogo que você</p><p>pode jogar é o do título.</p><p>Introdução</p><p>À medida que a batalha entre hackers e desenvolvedores de jogos progrediu, os métodos técnicos implementados</p><p>por ambas as partes – muitos dos quais se assemelham a técnicas utilizadas por desenvolvedores de malware e</p><p>fornecedores de antivírus – evoluíram, tornando-se mais complexos. Este livro destaca a luta travada pelos hackers</p><p>de jogos e os métodos avançados que eles desenvolveram para manipular jogos e, ao mesmo tempo, iludir os</p><p>desenvolvedores de jogos nos cantos escuros de seu próprio software.</p><p>hackers de jogos trabalham para fazer engenharia reversa de binários de jogos, automatizar</p><p>aspectos do jogo e modificar ambientes de jogos, os desenvolvedores de jogos combatem</p><p>as ferramentas projetadas por hackers (normalmente chamadas de bots) usando técnicas</p><p>anti-reversão, algoritmos de detecção de bot e mineração de dados heurística.</p><p>Machine Translated by Google</p><p>Observação</p><p>xx Introdução</p><p>Pré-requisitos para o leitor</p><p>Uma breve história de hackers em jogos</p><p>na injeção de código, a capacidade de escrever código em uma linguagem nativa como C ou</p><p>C++ é obrigatória. Todo o código de exemplo neste livro foi escrito em C++ e pode ser compilado</p><p>com o Microsoft Visual C++ Express Edition. (Você pode baixar o MSVC++ Express Edition em</p><p>http:// www.visualstudio.com/ en-US/</p><p>produtos/ visual-studio-express-vs.)</p><p>Outras linguagens que compilam em código nativo, como Delphi, também são capazes de injeção,</p><p>mas não as discutirei neste livro.</p><p>Desde o surgimento dos jogos online para PC no início dos anos 1980, vem ocorrendo uma guerra</p><p>de inteligência entre hackers e desenvolvedores de jogos.</p><p>provavelmente considerado um incômodo ou até mesmo malicioso pelas empresas de jogos,</p><p>você descobrirá que muitas das técnicas são úteis para o desenvolvimento de ferramentas</p><p>perfeitamente benignas e neutras. Além disso, o conhecimento de como essas técnicas são</p><p>implementadas é fundamental para que os desenvolvedores de jogos trabalhem na prevenção de</p><p>seu uso.</p><p>Além disso, como todos os hacks avançados discutidos neste livro dependem</p><p>Este livro não tem como objetivo ensinar desenvolvimento de software e, portanto, pressupõe que</p><p>você tenha, no mínimo, uma sólida experiência em desenvolvimento de software. Essa</p><p>experiência deve incluir familiaridade com o desenvolvimento nativo baseado em Windows, bem</p><p>como pouca experiência com desenvolvimento de jogos e gerenciamento de memória. Embora</p><p>essas habilidades sejam suficientes para você seguir este livro, a experiência com montagem</p><p>x86 e componentes internos do Windows garantirá que você não perca detalhes de implementações</p><p>mais avançadas.</p><p>Embora o livro se concentre em ensinar você a desenvolver ferramentas que</p><p>Os jogos online lançados nessa época, como Tibia (janeiro de 1997), Runescape (janeiro de 2001) e</p><p>Ultima Online (setembro de 1997), foram fortemente alvo de desenvolvedores de bots. Os</p><p>desenvolvedores desses jogos e de outros como eles ainda lutam hoje para controlar as enormes</p><p>comunidades de desenvolvedores e usuários de bots. A falta de ação dos desenvolvedores de</p><p>jogos e a</p><p>O final da década de 1990 e o início da década de 2000 foram a era de ouro do hacking de</p><p>jogos, quando os jogos online para PC se tornaram avançados o suficiente para atrair grandes</p><p>multidões, mas ainda eram simples o suficiente para serem facilmente manipulados e manipulados.</p><p>Essa luta aparentemente interminável levou os desenvolvedores de jogos a dedicar inúmeras</p><p>horas para evitar que hackers desmontassem seus jogos e lubrificassem as engrenagens. Esses</p><p>hackers, que contra-atacam com suas sofisticadas implementações furtivas, têm muitas</p><p>motivações: gráficos personalizados, melhor desempenho, facilidade de uso, jogo autônomo,</p><p>aquisição de ativos no jogo e, claro, lucro na vida real.</p><p>Machine Translated by Google</p><p>Introdução xxi</p><p>Os jogos são uma indústria enorme que gerou US$ 22,4 bilhões em vendas em</p><p>2014, de acordo com a Entertainment Software Association. Das dezenas de milhões</p><p>de jogadores que jogam diariamente, 20% jogam jogos de RPG online para vários</p><p>jogadores (MMORPGs). Esses MMORPGs</p><p>costumam ter milhares de jogadores que</p><p>negociam bens virtuais em economias prósperas do jogo. Os jogadores muitas vezes</p><p>precisam de ativos no jogo e estão dispostos a comprá-los com dinheiro do mundo real.</p><p>Consequentemente, os jogadores de MMORPG acabam desenvolvendo grandes</p><p>comunidades que fornecem serviços de ouro por dinheiro.</p><p>Para tirar vantagem disso, os hackers de jogos criarão bots capazes</p><p>Além de seu óbvio fascínio e natureza desafiadora, o hacking de jogos tem alguns</p><p>propósitos práticos e lucrativos. Todos os dias, milhares de programadores novatos</p><p>experimentam hacking de jogos em pequena escala como forma de automatizar tarefas</p><p>monótonas ou realizar ações servis. Esses script kiddies usarão ferramentas de</p><p>automação como o AutoIt para seus hacks pequenos e relativamente inofensivos. Por</p><p>outro lado, hackers de jogos profissionais, apoiados por seus grandes kits de</p><p>ferramentas e anos de experiência em programação, dedicarão centenas de horas ao</p><p>desenvolvimento de hacks de jogos avançados. Esses tipos de hacks de jogos, que</p><p>são o foco deste livro, geralmente são criados com a intenção de ganhar grandes quantias</p><p>de dinheiro.</p><p>de cultivar ouro automaticamente e nivelar personagens. Então, dependendo do seu</p><p>objetivo, os hackers criarão enormes fazendas de ouro e venderão seus</p><p>Nos anos que se seguiram à era de ouro, empresas de jogos mais maduras começaram</p><p>a levar muito a sério a defesa contra bots. Essas empresas agora têm equipes dedicadas focadas</p><p>no desenvolvimento de sistemas de prevenção de bots, e muitas também veem os bots como uma</p><p>questão legal e não hesitarão em banir jogadores que usam bots e processar os desenvolvedores</p><p>de bots que os forneceram. Como resultado, muitos hackers de jogos foram forçados a desenvolver</p><p>técnicas furtivas avançadas para manter seus usuários seguros.</p><p>Esses serviços muitas vezes chegam ao ponto de impor taxas de câmbio do ouro do</p><p>jogo para as moedas do mundo real.</p><p>Esta guerra continua e os números de ambos os lados da luta continuarão a crescer à medida</p><p>que os jogos online se tornarem mais predominantes nos próximos anos. Os principais</p><p>desenvolvedores de jogos estão perseguindo hackers com determinação infinita, até mesmo atacando</p><p>alguns gigantes do hacking de jogos com ações judiciais multimilionárias. Isso significa que os</p><p>hackers de jogos que levam seus negócios a sério devem ter como alvo empresas de jogos menores</p><p>ou comercializar anonimamente seus produtos nas sombras, a fim de escapar de processos judiciais.</p><p>No futuro próximo, o hacking de jogos e o desenvolvimento de bots continuarão a crescer e se tornar</p><p>uma indústria maior e mais lucrativa para os hackers de jogos ousados o suficiente para assumir os</p><p>riscos.</p><p>a tenacidade não apenas destruiu completamente as economias dentro dos jogos, mas</p><p>também produziu uma próspera indústria com fins lucrativos focada no desenvolvimento</p><p>e na defesa de bots.</p><p>Por que hackear jogos?</p><p>Machine Translated by Google</p><p>Como este livro está organizado</p><p>IntroduçãoXXII</p><p>• Capítulo 1: Verificando a memória usando o Cheat Engine ensinará como verificar a</p><p>memória de um jogo em busca de valores importantes usando o Cheat Engine. •No</p><p>Capítulo 2: Depurando jogos com OllyDbg, você terá um curso intensivo sobre</p><p>depuração e engenharia reversa com OllyDbg. As habilidades que você aprender</p><p>aqui serão extremamente úteis quando você começar a criar bots avançados e injetar</p><p>código.</p><p>Os jogos PvP costumam ser de natureza episódica; cada partida é um jogo isolado e</p><p>normalmente não há muita progressão lucrativa para sair do teclado (AFK). Isso significa que, em</p><p>vez de administrar fazendas de ouro ou criar bots autônomos para aumentar o nível dos</p><p>personagens, os hackers criarão bots reativos que auxiliam os jogadores no combate.</p><p>Os recursos online para cada capítulo da Parte 1 incluem binários personalizados</p><p>Process Explorer ensinará como usar duas ferramentas de reconhecimento para inspecionar</p><p>como os jogos interagem com arquivos, outros processos, a rede e o sistema operacional.</p><p>Esses jogos competitivos de jogador contra jogador (PvP) representam coletivamente 44% do</p><p>mercado de jogos e oferecem grandes recompensas para determinados hackers de jogos.</p><p>os jogadores participam para provar sua habilidade para si mesmos e para os outros. Como</p><p>consequência, o número de pessoas que procuram bots para jogos do tipo PvP é</p><p>substancialmente menor do que você encontraria no mundo pesado dos MMORPGs.</p><p>Quando estiver confortável com cada chave inglesa e martelo, Parte 2: Jogo</p><p>Esses jogos altamente competitivos envolvem habilidade e tática, e a maioria</p><p>Eu criei para oferecer a você um lugar seguro para testar e aprimorar suas habilidades recém-</p><p>descobertas.</p><p>No entanto, os hackers ainda podem ganhar muito dinheiro vendendo seus bots PvP, que</p><p>geralmente são muito mais fáceis de desenvolver do que bots autônomos completos.</p><p>Dissecção, irá ensiná-lo a entrar nos bastidores e descobrir como os jogos funcionam.</p><p>Embora os MMORPGs forneçam a maior superfície de ataque para hackers, eles têm um</p><p>público geral relativamente pequeno. Cerca de 38% dos jogadores preferem jogos de estratégia</p><p>em tempo real (RTS) e jogos de arena de batalha online massiva (MOBA), e outros 6% jogam</p><p>principalmente jogos de tiro em primeira pessoa (FPS).</p><p>•Para finalizar, Capítulo 3: Reconhecimento com Monitor de Processo e</p><p>Este livro está dividido em quatro partes, cada uma delas enfocando um aspecto central diferente</p><p>do hacking de jogos. Na Parte 1: Ferramentas do Comércio, você receberá uma caixa cheia de</p><p>ferramentas para ajudá-lo a hackear jogos.</p><p>lucros no jogo, ou aperfeiçoar e vender seu software para jogadores que desejam obter níveis</p><p>e ouro perfeitamente com interferência mínima. Devido às enormes comunidades que cercam</p><p>os MMORPGs populares, esses hackers de jogos podem ganhar entre seis e sete dígitos</p><p>anualmente.</p><p>Machine Translated by Google</p><p>XXIII</p><p>•No Capítulo 4: Do código à memória: uma introdução geral, você aprenderá como são o</p><p>código-fonte e os dados de um jogo depois de compilados em um binário de jogo. •</p><p>Capítulo 5:</p><p>Análise Forense de Memória Avançada baseia-se no conhecimento</p><p>limitado por milhares de linhas de código pronto para produção que você pode usar como uma</p><p>biblioteca padrão para um futuro bot.</p><p>Na Parte 3: Processo de Marionetismo, você se tornará um marionetista ao</p><p>explora maneiras de fazer um jogo exibir informações úteis que não são expostas por</p><p>padrão, como a localização de inimigos ocultos e a quantidade de experiência que você</p><p>ganha por hora.</p><p>Esses capítulos fornecem muitos exemplos de códigos de prova de conceito detalhados que</p><p>você pode usar para verificar tudo o que lê.</p><p>• Capítulo 9: Usando a percepção extra-sensorial para afastar a névoa da guerra</p><p>•Aproveitando as habilidades das Partes 1 e 2, Capítulo 7: Injeção de Código</p><p>detectar eventos no jogo, como diminuição da saúde, e fazer com que os bots</p><p>reajam a</p><p>esses eventos mais rapidamente do que os jogadores humanos.</p><p>aprenda como transformar qualquer jogo em uma marionete.</p><p>• Capítulo 10: Hacks responsivos mostra padrões de código que você pode usar para</p><p>•Depois de dominar a injeção, o Capítulo 8: Manipulando o fluxo de controle em um jogo ensinará</p><p>como usar a injeção para interceptar, modificar ou desabilitar qualquer chamada de função feita</p><p>por um jogo e encerrará com alguns exemplos úteis do mundo real para as bibliotecas comuns</p><p>Adobe AIR e Direct 3D.</p><p>•No Capítulo 12: Permanecendo Escondido, você aprenderá sobre alguns dos principais</p><p>descreve como injetar e executar seu próprio código no espaço de endereço de um jogo.</p><p>• Capítulo 11: Juntando tudo: escrevendo bots autônomos revela como funcionam os bots</p><p>que jogam sem interação humana. Os bots automatizados combinam teoria de controle,</p><p>máquinas de estado, algoritmos de busca e modelos matemáticos, e este capítulo é um</p><p>curso intensivo sobre esses tópicos.</p><p>você aprenderá no Capítulo 4. Você aprenderá como varrer a memória e usar a depuração</p><p>para localizar perfeitamente valores complicados de memória e dissecar classes e</p><p>estruturas complexas. •Finalmente,</p><p>o Capítulo 6: Lendo e gravando na memória do jogo mostra como ler e modificar dados em um</p><p>jogo em execução.</p><p>Para complementar suas aulas de marionetes, estes capítulos são acompanhados</p><p>Na Parte 4: Criando Bots, você verá como combinar sua caixa de ferramentas,</p><p>habilidades de dissecação, habilidades de marionetes e experiência em engenharia de software</p><p>para criar bots poderosos.</p><p>técnicas de nível que você pode usar para escapar e fugir de qualquer sistema que possa</p><p>interferir em seus bots.</p><p>Introdução</p><p>Machine Translated by Google</p><p>Uma nota do editor</p><p>xxiv Introdução</p><p>Este livro não tolera pirataria, violação do DMCA, violação de direitos autorais ou</p><p>violação dos Termos de Serviço do jogo. Hackers de jogos foram banidos dos jogos</p><p>para sempre, processados em milhões de dólares e até presos por seu trabalho.</p><p>Como usar este livro</p><p>Sobre os recursos on-line</p><p>.com/ gamehacking/. Esses recursos incluem binários compilados para testar suas</p><p>habilidades, uma quantidade considerável de código de exemplo e alguns trechos de código</p><p>de hacking de jogo pronto para produção. Esses recursos andam de mãos dadas com o</p><p>livro, e ele realmente não está completo sem eles, portanto, baixe-os antes de continuar.</p><p>Este livro deve ser usado principalmente como um guia para você começar a hackear</p><p>jogos. A progressão é tal que o conteúdo de cada capítulo introduz novas habilidades e</p><p>habilidades que se baseiam em todos os capítulos anteriores.</p><p>Você encontrará muitos recursos adicionais para este livro em https:// www.nostarch</p><p>Como você provavelmente já esperava, esses capítulos contêm muitos exemplos de código.</p><p>Alguns dos hacks mostrados nesta parte são baseados em códigos de exemplo de capítulos</p><p>anteriores. Outros exploram padrões de design sucintos e diretos que você pode usar para</p><p>criar seus próprios bots. Depois de terminar todas as quatro partes deste livro, você será</p><p>enviado para o mundo virtual com seu novo superpoder.</p><p>À medida que você completa os capítulos, recomendo que você brinque com o código de</p><p>exemplo e teste suas habilidades em um jogo real antes de continuar a leitura. Isso é</p><p>importante, pois alguns tópicos abordados terão casos de uso que não se tornarão evidentes</p><p>até que você esteja a 3 metros de profundidade na lama.</p><p>Depois de terminar o livro, espero que ele ainda possa ser útil como manual de</p><p>campo. Se você se deparar com alguma estrutura de dados sobre a qual não tem certeza,</p><p>talvez os detalhes do Capítulo 5 possam ajudar. Se você fizer engenharia reversa no</p><p>formato do mapa de um jogo e estiver pronto para criar um pathfinder, você sempre pode</p><p>ir para o Capítulo 11, estudar o conteúdo e usar parte do código de exemplo como ponto de partida.</p><p>Embora seja impossível prever todos os problemas que você poderá enfrentar ao hackear,</p><p>tentei garantir que você encontrará algumas respostas nestas páginas.</p><p>Machine Translated by Google</p><p>Parte 1</p><p>Ferramentas do comércio</p><p>Machine Translated by Google</p><p>Machine Translated by Google</p>

Mais conteúdos dessa disciplina