Table of Contents

  • Foreword
  • Preface
    • Why Are We Doing This?
    • Where Do We Draw the Line?
    • What's in the Book?
    • The Software Security Series
    • Contacting the Authors
  • Acknowledgments
    • Greg's Acknowledgments
    • Gary's Acknowledgments
  • About the Authors
  • Chapter 1: Why Games?
    • Online Games Worldwide
    • The Lure of Cheating in MMORPGs
      • Cheat Codes
      • Criminal Cheating
      • Turning Bits into Cash: From Exploits to Items
    • Games Are Software, Too
      • Basic Game Architecture
      • The Game Client
      • Client-Side State
      • Analogies to Other Applications
    • Hacking Games
      • Who Hacks Games?
      • Why Hack Games?
      • How to Hack Games
      • How Much Game Hacking Happens?
    • The Big Lesson: Software as Achilles' Heel
  • Chapter 2: Game Hacking 101 [PDF]
    • Defeating Piracy by Going Online
    • Or Not . . .
    • Tricks and Techniques for Cheating
      • Building a Bot: Automated Gaming
      • Using the User Interface: Keys, Clicks, and Colors
      • Operating a Proxy: Intercepting Packets
      • Manipulating Memory: Reading and Writing Data
      • Drawing on the Debugger: Breakpoints
      • Finding the Future: Predictability and Randomness, or How to Cheat in Online Poker
    • The Bot Parade
      • Combat Macro Bots
      • Aimbots
      • Poker Bots
    • Lurking (Data Siphoning)
      • Online Statistics
      • Poker Statistics
      • Auction Manipulation
    • Tooling Up
      • AC Tool: Macro Construction
    • Countermeasures
      • Spyware
      • The Warden: Defeating Cheaters by Crossing the Line
      • The Governor
      • Where Do You Stand?
      • Cheating
  • Chapter 3: Money
    • How Game Companies Make Money
    • Poker
    • Virtual Worlds: Game Economics and Economies
      • Connections to the Real Economy
      • Middlemen
      • Playing for Profit
      • Thottbot
    • Criminal Activity
  • Chapter 4: Enter the Lawyers
    • Legality
    • Fair Use and Copyright Law
    • The Digital Millennium Copyright Act
    • The End User License Agreement
      • Sony BMG's EULA: Rootkits Galore
      • Blizzard's EULA: All Your Memory Are Belong to Us
      • Gator's EULA: A Permanent Unwelcome Visitor
      • Microsoft FrontPage 2002ís EULA: Be Nice, Because You Have To
      • A Virus with a EULA: Malware Gets Legal
      • Apple Computer's EULA: To Infinity and Beyond
      • The EULA Parade
      • Forbidding Reverse Engineering
      • Forbidding Game Hacking
      • Property Rights
    • The Terms of Use
      • The Ban
      • Being Sued != Breaking the Law
      • Stealing Software versus Game Hacking
  • Chapter 5: Infested with Bugs
    • Time and State Bugs in Games
      • How to Game for Free
      • Using Bugs to Confuse State Boundaries
      • Using Botnets to Lag a Game Server
      • Using Bugs to Change Character States
    • Pathing Bugs in Games
      • Using Bugs to Travel in Interesting Ways
    • Altering the User Interface
    • Modifying Client-Side Game Data
    • Monitoring Drops and Respawns
    • Just Show Up
    • And in Conclusion
  • Chapter 6: Hacking Game Clients
    • Malicious Software Testing (Enter the Attacker)
      • QA Tools and Techniques
    • Countermeasures against Reverse Engineering
      • Packing
      • Anti-Debugging
    • Data, Data, Everywhere
      • Data Exposure and Countermeasures
      • Data at Rest, Data in Motion
      • Looking Elsewhere for Data
    • Getting All Around the Game
    • Going Over the Game: Controlling the User Interface
      • Controlling Keystrokes
      • Using Magic Key Sequences
      • Controlling Mouse Droppings
      • Sampling Pixels
      • Countermeasures against Macro Bots
      • Generating Windows Messages
    • Getting In the Game: Manipulating Game Objects
      • The Problem of Moveable Memory
      • Rounding Up the Usual Suspects
      • Reading the File from Disk
      • Parsing the PE Header
      • Looking Around for Stuff
      • Building a WoW Decompiler
      • Reading and Writing Process Memory
    • Getting Under the Game: Manipulating Rendering Information
      • 3D = X Y Z
      • Wall Hacking
      • DLL Injection
      • Hiding Injected DLLs
    • Standing Way Outside the Game: Manipulating Network Packets
      • Encryption on the Wire
    • The Ultimate in Stealth: Taking Client Manipulation to the Kernel
      • Memory Cloaking
    • Clients Make Great Targets
  • Chapter 7: Building a Bot
    • Bot Design Fundamentals
      • Event-Driven Design
      • State Machines
      • Moving the Player Character
      • Making a Player Character Fight
      • Looting the Mob
      • Mob Selection and Blacklisting
      • Managing Agro
    • Bot as Debugger
      • A Basic Debugging Loop
      • SetProcessKillOnExit
      • SetDebugPrivilege
      • Breakpoints
      • Snagging Samples from Context
      • Siphoning with Breakpoint Samples
    • The Wowzer Botting Engine
    • Advanced Bot Topics
      • Bots and Kernels
      • A New Bot Paradigm: Combat Assist Bots
      • Bot User Interface
    • Bots for Everyone
  • Chapter 8: Reversing
    • Taking Games Apart
      • The Reverse Engineering Process
      • Function Imports and Exports
      • Strings
      • Static Tracing
      • Dynamic Tracing
    • Code Patterns in Assembly
      • Basic Data Movement
      • Basic Logic
      • Parsing and Strings
      • Functions
      • C++ Objects
      • Exception Handling
      • Switch Statements
    • Self-Modifying Code and Packing
    • Reversing Concluded
  • Chapter 9: Advanced Game Hacking Fu
    • Conversions and Modding
      • Total Conversions
      • Rewriting the Client
      • Rewriting the Server
      • Client Rendering Options
      • Model Construction
      • Textures
      • Terrain
    • Media File Formats
    • Emulation Servers (Private Servers)
      • Protocol Emulation
      • Steps Required to Get into the World
    • Legal Tangles
  • Chapter 10: Software Security Über Alles
    • Building Security In for Game Developers
      • Software Security Touchpoints
      • Black Hats and White Hats
    • Security for Everyday Gamers
    • Exploiting Online Games
  • Index