Game hacking developing autonomous bots for online games

Game Hacking shows programmers how to dissect computer games and create bots.

Detalles Bibliográficos
Otros Autores: Cano, Nick, author (author), DeMott, Jared, writer of foreword (writer of foreword)
Formato: Libro electrónico
Idioma:Inglés
Publicado: San Francisco, California : No Starch Press 2016.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631540506719
Tabla de Contenidos:
  • Intro
  • Title Page
  • Copyright Page
  • About the Author
  • About the Technical Reviewer
  • Brief Contents
  • Contents in Detail
  • Foreword by Dr. Jared DeMott
  • Acknowledgments
  • Introduction
  • Prerequisites for the Reader
  • A Brief Game Hacking History
  • Why Hack Games?
  • How This Book Is Organized
  • About the Online Resources
  • How to Use This Book
  • Part 1: Tools of the Trade
  • Chapter 1: Scanning Memory Using Cheat Engine
  • Why Memory Scanners Are Important
  • Basic Memory Scanning
  • Cheat Engine's Memory Scanner
  • Scan Types
  • Running Your First Scan
  • Next Scans
  • When You Can't Get a Single Result
  • Cheat Tables
  • Memory Modification in Games
  • Manual Modification with Cheat Engine
  • Trainer Generator
  • Pointer Scanning
  • Pointer Chains
  • Pointer Scanning Basics
  • Pointer Scanning with Cheat Engine
  • Pointer Rescanning
  • Lua Scripting Environment
  • Searching for Assembly Patterns
  • Searching for Strings
  • Closing Thoughts
  • Chapter 2: Debugging Games with OllyDbg
  • A Brief Look at OllyDbg's User Interface
  • OllyDbg's CPU Window
  • Viewing and Navigating a Game's Assembly Code
  • Viewing and Editing Register Contents
  • Viewing and Searching a Game's Memory
  • Viewing a Game's Call Stack
  • Creating Code Patches
  • Tracing Through Assembly Code
  • OllyDbg's Expression Engine
  • Using Expressions in Breakpoints
  • Using Operators in the Expression Engine
  • Working with Basic Expression Elements
  • Accessing Memory Contents with Expressions
  • OllyDbg Expressions in Action
  • Pausing Execution When a Specific Player's Name Is Printed
  • Pausing Execution When Your Character's Health Drops
  • OllyDbg Plug-ins for Game Hackers
  • Copying Assembly Code with Asm2Clipboard
  • Adding Cheat Engine to OllyDbg with Cheat Utility
  • Controlling OllyDbg Through the Command Line.
  • Visualizing Control Flow with OllyFlow
  • Closing Thoughts
  • Chapter 3: Reconnaissance with Process Monitor and Process Explorer
  • Process Monitor
  • Logging In-Game Events
  • Inspecting Events in the Process Monitor Log
  • Debugging a Game to Collect More Data
  • Process Explorer
  • Process Explorer's User Interface and Controls
  • Examining Process Properties
  • Handle Manipulation Options
  • Closing Thoughts
  • Part 2: Game Dissection
  • Chapter 4: From Code to Memory: A General Primer
  • How Variables and Other Data Manifest in Memory
  • Numeric Data
  • String Data
  • Data Structures
  • Unions
  • Classes and VF Tables
  • x86 Assembly Crash Course
  • Command Syntax
  • Processor Registers
  • The Call Stack
  • Important x86 Instructions for Game Hacking
  • Closing Thoughts
  • Chapter 5: Advanced Memory Forensics
  • Advanced Memory Scanning
  • Deducing Purpose
  • Finding the Player's Health with OllyDbg
  • Determining New Addresses After Game Updates
  • Identifying Complex Structures in Game Data
  • The std::string Class
  • The std::vector Class
  • The std::list Class
  • The std::map Class
  • Closing Thoughts
  • Chapter 6: Reading from and Writing to Game Memory
  • Obtaining the Game's Process Identifier
  • Obtaining Process Handles
  • Working with OpenProcess()
  • Accessing Memory
  • Working with ReadProcessMemory() and WriteProcessMemory()
  • Accessing a Value in Memory with ReadProcessMemory() and WriteProcessMemory()
  • Writing Templated Memory Access Functions
  • Memory Protection
  • Differentiating x86 Windows Memory Protection Attributes
  • Changing Memory Protection
  • Address Space Layout Randomization
  • Disabling ASLR to Simplify Bot Development
  • Bypassing ASLR in Production
  • Closing Thoughts
  • Part 3: Process Puppeteering
  • Chapter 7: Code Injection
  • Injecting Code Caves with Thread Injection
  • Creating an Assembly Code Cave.
  • Translating the Assembly to Shellcode
  • Writing the Code Cave to Memory
  • Using Thread Injection to Execute the Code Cave
  • Hijacking a Game's Main Thread to Execute Code Caves
  • Building the Assembly Code Cave
  • Generating Skeleton Shellcode and Allocating Memory
  • Finding and Freezing the Main Thread
  • Injecting DLLs for Full Control
  • Tricking a Process into Loading Your DLL
  • Accessing Memory in an Injected DLL
  • Bypassing ASLR in an Injected DLL
  • Closing Thoughts
  • Chapter 8: Manipulating Control Flow in a Game
  • NOPing to Remove Unwanted Code
  • When to NOP
  • How to NOP
  • Hooking to Redirect Game Execution
  • Call Hooking
  • VF Table Hooking
  • IAT Hooking
  • Jump Hooking
  • Applying Call Hooks to Adobe AIR
  • Accessing the RTMP Goldmine
  • Hooking the RTMPS encode() Function
  • Hooking the RTMPS decode() Function
  • Placing the Hooks
  • Applying Jump Hooks and VF Hooks to Direct3D
  • The Drawing Loop
  • Finding the Direct3D Device
  • Writing a Hook for EndScene()
  • Writing a Hook for Reset()
  • What's Next?
  • Closing Thoughts
  • Part 4: Creating Bots
  • Chapter 9: Using Extrasensory Perception to Ward off Fog of War
  • Background Knowledge
  • Revealing Hidden Details with Lighthacks
  • Adding a Central Ambient Light Source
  • Increasing the Absolute Ambient Light
  • Creating Other Types of Lighthacks
  • Revealing Sneaky Enemies with Wallhacks
  • Rendering with Z-Buffering
  • Creating a Direct3D Wallhack
  • Fingerprinting the Model You Want to Reveal
  • Getting a Wider Field of Vision with Zoomhacks
  • Using NOPing Zoomhacks
  • Scratching the Surface of Hooking Zoomhacks
  • Displaying Hidden Data with HUDs
  • Creating an Experience HUD
  • Using Hooks to Locate Data
  • An Overview of Other ESP Hacks
  • Closing Thoughts
  • Chapter 10: Responsive Hacks
  • Observing Game Events
  • Monitoring Memory
  • Detecting Visual Cues.
  • Intercepting Network Traffic
  • Performing In-Game Actions
  • Emulating the Keyboard
  • Sending Packets
  • Tying the Pieces Together
  • Making the Perfect Healer
  • Resisting Enemy Crowd-Control Attacks
  • Avoiding Wasted Mana
  • Closing Thoughts
  • Chapter 11: Putting it All Together: Writing Autonomous Bots
  • Control Theory and Game Hacking
  • State Machines
  • Combining Control Theory and State Machines
  • A Basic Healer State Machine
  • A Complex Hypothetical State Machine
  • Error Correction
  • Pathfinding with Search Algorithms
  • Two Common Search Techniques
  • How Obstacles Disrupt Searches
  • An A* Search Algorithm
  • When A* Searches Are Particularly Useful
  • Common and Cool Automated Hacks
  • Looting with Cavebots
  • Automating Combat with Warbots
  • Closing Thoughts
  • Chapter 12: Staying Hidden
  • Prominent Anti-Cheat Software
  • The PunkBuster Toolkit
  • Signature-Based Detection
  • Screenshots
  • Hash Validation
  • The ESEA Anti-Cheat Toolkit
  • The VAC Toolkit
  • DNS Cache Scans
  • Binary Validation
  • False Positives
  • The GameGuard Toolkit
  • User-Mode Rootkit
  • Kernel-Mode Rootkit
  • The Warden Toolkit
  • Carefully Managing a Bot's Footprint
  • Minimizing a Bot's Footprint
  • Masking Your Footprint
  • Teaching a Bot to Detect Debuggers
  • Anti-Debugging Techniques
  • Defeating Signature-Based Detection
  • Defeating Screenshots
  • Defeating Binary Validation
  • Defeating an Anti-Cheat Rootkit
  • Defeating Heuristics
  • Closing Thoughts
  • Index
  • Footnotes
  • Chapter 4: From Code to Memory: A General Primer
  • Resources
  • The Electronic Frontier Foundation
  • Get Inside the Game.