Book Review: "Game Hacking"
"Game Hacking: Developing Autonomous Bots for Online Games" by Nick Cano is an incredible, technical computer-security book. The book is fairly cheap at ~$25 for ~260 pages and the content is worth that price. This book is an awesome confluence of computer science, computer security, and game design, illustrating a variety of technical topics from each domain for the reader and how to manipulate those to your advantage. "Game Hacking" makes for both a great read straight through or as a desk reference when reversing games or abusing Windows process memory. I give the book 9 out of 10 stars, as probably one of the best technical computer security books I have read in awhile. I'de recommend this book for anyone into security, computer science, or even game development, and especially those into game hacking. I'de further recommend it for all skill levels, whether its basics like the x86 primer, more advanced techniques like process injection, or even more advanced game hacks like writing headless network clients. The book moves from using tools of the game hacking trade and advanced debugging techniques, all the way to re-implementing and writing your own tools and bots. It's truly an excellent technical security book that arms readers with a variety of tools to take their game hacking to the next level. Check out the table of contents as follows:
Introduction
PART 1: TOOLS OF THE TRADE
Chapter 1: Scanning Memory Using Cheat Engine
Chapter 2: Debugging Games with OllyDbg
Chapter 3: Reconnaissance with Process Monitor and Process Explorer
PART 2: GAME DISSECTION
Chapter 4: From Code to Memory: A General Primer
Chapter 5: Advanced Memory Forensics
Chapter 6: Reading from and Writing to Game Memory
PART 3: PROCESS PUPPETEERING
Chapter 7: Code Injection
Chapter 8: Manipulating Control Flow in a Game
PART 4: CREATING BOTS
Chapter 9: Using Extrasensory Perception to Ward Off Fog of War
Chapter 10: Responsive Hacks
Chapter 11: Putting It All Together: Writing Autonomous Bots
Chapter 12: Staying Hidden
The book was published through No Starch Press, and they offer a sample chapter for those looking to get a peek at the style of writing. The book also provides tons of sample code and example programs for readers to hack and practice techniques in the text. The sample code provides excellent template routines for many common game hacks, such as enumerating processes and injecting into other processes. Nick also give copious tips regarding useful plugins for existing tools or how to leverage existing tools in writing your own bots. One of my favorite computer science parts is where Nick expands on common C++ data structures found in games such that reverse engineers recognize these and can quickly parse over them when encountered. He breaks down such classes as std::string, std::vector, std::list, and std::map. That said, my favorite chapter is the final chapter where Nick layouts the capabilities and methodologies of many popular anti-cheat agents. Nick also did an AMA awhile back, where he answers many questions people had after reading the book, it was popular on Reddit for a long time. Finally, I link one of Nick's con talks where he outlines many of the same concepts that he goes in-depth on in the book, I urge you to check it out:
Introduction
PART 1: TOOLS OF THE TRADE
Chapter 1: Scanning Memory Using Cheat Engine
Chapter 2: Debugging Games with OllyDbg
Chapter 3: Reconnaissance with Process Monitor and Process Explorer
PART 2: GAME DISSECTION
Chapter 4: From Code to Memory: A General Primer
Chapter 5: Advanced Memory Forensics
Chapter 6: Reading from and Writing to Game Memory
PART 3: PROCESS PUPPETEERING
Chapter 7: Code Injection
Chapter 8: Manipulating Control Flow in a Game
PART 4: CREATING BOTS
Chapter 9: Using Extrasensory Perception to Ward Off Fog of War
Chapter 10: Responsive Hacks
Chapter 11: Putting It All Together: Writing Autonomous Bots
Chapter 12: Staying Hidden
The book was published through No Starch Press, and they offer a sample chapter for those looking to get a peek at the style of writing. The book also provides tons of sample code and example programs for readers to hack and practice techniques in the text. The sample code provides excellent template routines for many common game hacks, such as enumerating processes and injecting into other processes. Nick also give copious tips regarding useful plugins for existing tools or how to leverage existing tools in writing your own bots. One of my favorite computer science parts is where Nick expands on common C++ data structures found in games such that reverse engineers recognize these and can quickly parse over them when encountered. He breaks down such classes as std::string, std::vector, std::list, and std::map. That said, my favorite chapter is the final chapter where Nick layouts the capabilities and methodologies of many popular anti-cheat agents. Nick also did an AMA awhile back, where he answers many questions people had after reading the book, it was popular on Reddit for a long time. Finally, I link one of Nick's con talks where he outlines many of the same concepts that he goes in-depth on in the book, I urge you to check it out: