"Imagine trying to play defense in football without ever studying offense. You would not know when a run was coming, how to defend pass patterns, nor when to blitz. In computer systems, as in football, a defender must be able to think like an attacker. I say it in my class every semester, you don't want to be the last person to attack your own system--you should be the first.
"The world is quickly going online. While I caution against online voting, it is clear that online gaming is taking the Internet by storm. In our new age where virtual items carry real dollar value, and fortunes are won and lost over items that do not really exist, the new threats to the intrepid gamer are all too real. To protect against these hazards, you must understand them, and this groundbreaking book is the only comprehensive source of information on how to exploit computer games. Every White Hat should read it. It's their only hope of staying only one step behind the bad guys."
--Aviel D. Rubin, Ph.D.
Professor, Computer Science
Technical Director, Information Security Institute
Johns Hopkins University
"Everyone's talking about virtual worlds. But no one's talking about virtual-world security. Greg Hoglund and Gary McGraw are the perfect pair to show just how vulnerable these online games can be."
"If we're going to improve our security practices, frank discussions like the ones in this book are the only way forward. Or as the authors of this book might say, when you're facing off against Heinous Demons of Insecurity, you need experienced companions, not to mention a Vorpal Sword of Security Knowledge."
--Edward W. Felten, Ph.D.
Professor of Computer Science and Public Affairs
Director, Center for Information Technology Policy
"Historically, games have been used by warfighters to develop new capabilities and to hone existing skills--especially in the Air Force. The authors turn this simple concept on itself, making games themselves the subject and target of the 'hacking game,' and along the way creating a masterly publication that is as meaningful to the gamer as it is to the serious security system professional.
"Massively distributed systems will define the software field of play for at least the next quarter century. Understanding how they work is important, but understanding how they can be manipulated is essential for the security professional. This book provides the cornerstone for that knowledge."
Chief, Information Protection Directorate
United States Air Force
"Like a lot of kids, Gary and I came to computing (and later to computer security) through games. At first, we were fascinated with playing games on our Apple ][s, but then became bored with the few games we could afford. We tried copying each other's games, but ran up against copy-protection schemes. So we set out to understand those schemes and how they could be defeated. Pretty quickly, we realized that it was a lot more fun to disassemble and work around the protections in a game than it was to play it.
"With the thriving economies of today's online games, people not only have the classic hacker's motivation to understand and bypass the security of games, but also the criminal motivation of cold, hard cash. That's a combination that's hard to stop. The first step, taken by this book, is revealing the techniques that are being used today."
--Greg Morrisett, Ph.D.
Allen B. Cutting Professor of Computer Science
School of Engineering and Applied Sciences
"If you're playing online games today and you don't understand security, you're at a real disadvantage. If you're designing the massive distributed systems of tomorrow and you don't learn from games, you're just plain sunk."
--Brian Chess, Ph.D.
Founder/Chief Scientist, Fortify Software
Coauthor of Secure Programming with Static Analysis
"This book offers up a fascinating tour of the battle for software security on a whole new front: attacking an online game. Newcomers will find it incredibly eye opening and even veterans of the field will enjoy some of the same old programming mistakes given brilliant new light in a way that only massively-multiplayer-supermega-blow-em-up games can deliver. w00t!"
Principal Consultant, Cigital
Coauthor of Network Security with OpenSSL
If you are a gamer, a game developer, a software security professional, or an interested bystander, this book exposes the inner workings of online-game security for all to see.
From the authors of the best-selling Exploiting Software, Exploiting Online Games takes a frank look at controversial security issues surrounding MMORPGs, such as World of Warcraft™ and Second Life®. This no-holds-barred book comes fully loaded with code examples, debuggers, bots, and hacks.
This book covers
Why online games are a harbinger of software security issues to come
How millions of gamers have created billion-dollar virtual economies
How game companies invade personal privacy
Why some gamers cheat
Techniques for breaking online game security
How to build a bot to play a game for you
Methods for total conversion and advanced mods
Written by the world's foremost software security experts, this book takes a close look at security problems associated with advanced, massively distributed software. With hundreds of thousands of interacting users, today's online games are a bellwether of modern software. The kinds of attack and defense techniques described in Exploiting Online Games are tomorrow's security techniques on display today.
Table of Contents
- Advance Praise for Exploiting Online Games
- Addison-Wesley Software Security Series
- About the Authors
1. Why Games?
- Online Games Worldwide
- The Lure of Cheating in MMORPGs
- Games Are Software, Too
- Hacking Games
- The Big Lesson: Software as Achilles’ Heel
2. Game Hacking 101
- Defeating Piracy by Going Online
- Or Not . . .
- Tricks and Techniques for Cheating
- The Bot Parade
- Lurking (Data Siphoning)
- Tooling Up
- 3. Money
4. Enter the Lawyers
- 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
- Stealing Software versus Game Hacking
5. Infested with Bugs
- Time and State Bugs in Games
- Pathing Bugs in Games
- Altering the User Interface
- Modifying Client-Side Game Data
- Monitoring Drops and Respawns
- Just Show Up
- And in Conclusion
6. Hacking Game Clients
- Malicious Software Testing (Enter the Attacker)
- Countermeasures against Reverse Engineering
- Data, Data, Everywhere
- Getting All Around the Game
- Going Over the Game: Controlling the User Interface
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
- Standing Way Outside the Game: Manipulating Network Packets
- The Ultimate in Stealth: Taking Client Manipulation to the Kernel
- Clients Make Great Targets
7. Building a Bot
- Bot Design Fundamentals
- Bot as Debugger
- The Wowzer Botting Engine
- Advanced Bot Topics
- Bots for Everyone
- Taking Games Apart
Code Patterns in Assembly
- Basic Data Movement
- Basic Logic
- Parsing and Strings
- C++ Objects
- Exception Handling
- Switch Statements
- Self-Modifying Code and Packing
- Reversing Concluded
9. Advanced Game Hacking Fu
- Conversions and Modding
- Media File Formats
- Emulation Servers (Private Servers)
- Legal Tangles
- 10. Software Security Über Alles
- Title: Exploiting Online Games: Cheating Massively Distributed Systems
- Release date: July 2007
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780132271912