Some Small Excerpts From My Book
Quite a few of you have mentioned my book in the forums or asked about it in private messages, so I decided I would put a few small passages here so you guys can see some of the things I've got so far. The book is full of code and technical stuff, but the passages will be conceptual ones which are used to transition into new topics and such. Remember that these haven't been sent to my editor or production team yet, so there may be typos and such.
Quote:
Originally Posted by Chapter 0 - Introduction
A common misconception in the world of online gaming is the idea that the only game you can play is the one in the title. Contrary to this, game hackers find enjoyment playing the game that hides behind the curtain: a cat-and-mouse game of wits between game hackers and game developers. While game hackers work to reverse engineer game binaries, automate aspects of game play, and modify gaming environments, game developers combat the hacker-designed tools (normally referred to as bots) using anti-reversing techniques, bot detection algorithms, and heuristic data-mining.
As the battle between game hackers and developers has progressed, the technical methods implemented by both parties – many of which resemble techniques you will find utilized by malware developers and anti-virus vendors – have continued to evolve, becoming exceedingly more complex. This book highlights the fight put up by game hackers, and the advanced methods they have engineered to manipulate games while simultaneously eluding game developers in the dark corners of their own software.
Quote:
Originally Posted by Chapter 4 - From Code to Memory
At the lowest level, the entirety of a game – it's code, data, input, and output – is nothing more than complex abstractions of erratically changing bytes. Many of these bytes represent variables or machine code, generated by a compiler that was fed the game's source code. Some of them are the representations of images, models, and sounds that were loaded by the game. Others exist only for an instant, posted by the computer's hardware as input and destroyed by the game when it finished processing them. The ones that remain are for the player to enjoy, spit out by the game's code as the human representation of it's internal state. This is not only true of games, but of all software in general; it's just how computers think.
A major consequence (or privilege, depending on your perspective) of the human condition is our inherent inability to think in bytes. This huge disconnect in thought summons a need for ideas to be translated from the abstract – high-level code and visceral content – to the computationally acceptable – bytes. Some of these ideas are stored losslessly, ready to be presented to the player at a microsecond's notice. The code, logic, and variables of the game, on the other hand, are stripped of all human connotations and compiled down to machine data.
By manipulating the data which comprises a game, game hackers are able to obtain humanly improbable advantages within it. In order to do this, however, they must understand how the code written by developers manifests once it has been compiled and executed; they must think like a computer. Understanding the intricacies of this process will take years of practice, but this chapter teaches everything you will need to get started.
More to come as time goes on ;)