|
Guides BETA: Found a bug?
Hacking Online Multiplayer GamesEditor: writerjudd
This guide will explore fun and ethical methods of remixing - some might say "hacking" - online multiplayer games.
Introduction: because it's there
Webservice remixing is itself often an anticipated eventuality, but sometimes it is not. In the case of most multiplayer games, remix -- also commonly called "hacking" -- is strongly discouraged and indeed may be a violation of the game's terms of service. You should avoid such violations, or at the very least be prepared to suffer the consequences of doing so. Whatever the case, the underlying theme of this guide is ethical hacking. Meaning, remix for the love of the challenge, and done in ways that do not adversely affect another's gameplay. The principles outlined in this guide will likely equip the reader with sufficient knowledge to create unethical hacks, including invincibility and score manipulation. However this practice is fiercely discouraged for reasons that will likely be made clear by this guide's end. It's possible to engage in basic gamehacking with no specialized knowledge. However, the best hacks are limited to those who manage to gain at least a basic understanding of 16-base (also known as "hexadecimal") numbering, and the opcodes of Machine Language (bitwise Assembly Language). It also helps substantially to understand the basics of how Intel-based (x86) processors allocate memory to discrete "registers." In time, these topics will be included in this guide.
A high-level explanation of the theory behind game hackingThe code that goes into a completed game is written by developers in a semi-human-readable format, but encrypted before it is distributed, such that by the time you install it, the game's executable file operates in a purely bitwise manner. You might compare it to a large restaurant, which may have been designed by skilled and experienced managers and foodservice industry theorists, but where the actual work is done by laborers with very specific tasks to perform without regard for the restaurant's other processes. So, the bus person clears off a specific subset of tables and takes the dishes to a specific place without needing to know why or what happens to the dishes after they go to the worker tasked with washing them. Plenty of brilliance and experience may have gone into determining that busser's specific duties, but he or she will not likely ever know about it. If you, as a random patron, wanted to change the way a restaurant works, the most effective way would be to convince its managers. But when that can't happen, you might try slightly altering the behavior of a specific front-line worker. Similarly, hackers would be most effective with access to source code, but that will never happen. So, we look to the bitwise operations we can make small changes to from time to time, just to see what might happen. Most of the time, those changes are either inconsequential or negative. But from time to time, that small change will produce exciting and remarkable results. Through trial and error -- usually heavy on the error -- one can begin to understand the otherwise indecipherable function of the bitwise operations of machine language. With this knowledge, one may then build small programs, commonly known as "trainers," which allow you to make these changes in-game and on the fly. This is the essence of game hacking. And it's really fun. How a game's memory works
The game's set of instructions, usually found in a single executable file, ending with the extension .exe, and possibly many supporting "libraries" denoted by the extension .dll, are not supposed to change and thus are etched in ROM. Based on the conditions governed by those ROM-based instructions, data is constantly saved to the game's RAM. For example, if there are 100 players engaged at one moment, the value 100 is likely saved to a pre-defined portion of your computer's RAM. As soon as the number of players matters for any reason, your computer will look at the place where that value is known to be stored, and usually make a "copy" of that value for use in a relevant operation. If one player quits, that number will change to 99 and remain unchanged until another player joins or leaves. There is will sit, ignored, until needed again. Most players would be shocked to learn how much of one's gameplay is controlled not by the game's server, but by their own client machine. This is necessary because, especially in the case of "massively multiplayer" online games, centralizing rules enforcement would cause excessive server strain and lag. Thus, included in the game client's ROM are instructions that translate into most of the rules that limit players; including when a player is "dead," the resources available to a player, and (most notably, in my opinion) the game's physics engine and the limitations it imposes upon players. Not only that, but a player's own RAM even contains such data as the exact location of enemy players, their health, the direction they're looking (and, by extension, what is visible to them), the weapon they may be holding, what's in their inventory, their name, the amount of ammo they carry, etc. The essence of multiplayer online gamehacking is to discover where in RAM these data are stored and dynamically change them in interesting ways.
How to manipulate a game's memory
Most debuggers permit the user to not only observe RAM, but tweak it for the purpose of optimizing it. For the developer with access to the application's original ROM-based source code, and a thorough understanding of the processes backing up each change to RAM, making beneficial tweaks (rather, avoiding bad tweaks) is easy to do. Of course gamehackers don't have access to source code, and thus must make tweaks semi-blindly. Consequently, most RAM tweaks will either accomplish nothing, will crash the game, or will produce generally negative effects. Through trial and error, beneficial tweaks are found, documented and reproduced. The biggest challenge in gamehacking is finding where in RAM key data are stored. Two free yet priceless tools developed specifically for this purpose are T-Search (download it here) and ArtMoney (download it here). Each tool has its own strengths and weaknesses. ArtMoney is the better tool for localizing values in RAM. T-Search is the better tool for manipulating those values once discovered. To understand why this matters, it's necessary to first understand the dual nature of a game's RAM. Two types of game data are saved to your computer's RAM: values and instructions, where the instructions determine and manipulate the values. By way of example, a particular instruction might say: "When the value X decreases by 1, subtract 1 from the value Y." This might have application in cases where X is the actual number of bullets in a player's gun, and Y is the number representing "ammo" that appears on the player's screen. Many novice gamehackers using ArtMoney will quickly find Y and believe they've found the value in RAM that determines a player's available ammo. They will then tweak it and find that the "ammo" number on their screen changes accordingly, but are surprised to find that despite what their screen might say, their gun runs out of ammunition as it normally would. The unique value of T-Search is its ability to identify the instructions that influence any value, and from there, identify the values that a particular instruction determines. Having this ability makes it much more likely that you'll succeed in finding not only the actual value in RAM that you're seeking, but also the instructions that determine that value. Having this knowledge in turn allows gamehackers to defeat the bane of the trade: dynamic memory allocation (DMA), which will be explained shortly.
How to hack without being a jerk
Gold: Don't gloat about the gold you have "I have 9 billion Gold" etc, especially if your level is very low. Levels: When starting off at a low level don't talk to people and keep away from as many people as possible for when you hack a level from level 1 to level 100 no one will notice nor report you so no suspicion will fall under you, making the chances of you getting caught less. Overall: If you wish not to get caught and banned by hacking do things where there is no one about you are more than likely able to do the hack any where you like so if you want to do a level or gold hack get all the values ready but don't edit them till your away from other players this way there is no way of getting caught, then no idiots will complain, therefore you won't upset anyone which means you won't be hacking like a annoying jerk. If someone accuses you of hacking and you are don't deny it just ask them if they have msn or something and you can show them, half the time when people get caught it's due to someone noticing and then being told there wrong. (Guide given by writerjudd, How to hack without being a jerk provided by cjunes) Categories: Help Wanted |
| ||||||||||||||||||||||||||||||
Guides Home
Terms & Conditions
Contact Us
Creative Commons
|
|
![]() |
|