home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: alt.2600
- Subject: REPOST: How To Cheat At Games (long)
- Date: Wed May 3 00:23:29 1995
-
- ---> This message gated from Fido at 1:255/9.0
- ---> Original message by Doug Mclean
-
- (*sigh*) There were problems with the news feed last two times I
- tried send this, so I'll try one more time... If it made it out
- before, sorry for wasting bandwidth with the repost.
-
- --- original post follows ---
-
- In an effort to get some real info into this newsgroup, and
- to help out some of the lamers and newbies that hang out here,
- I'm posting this article I wrote a few years ago. The following
- info will help newbies cheat at certain types of games, even
- if they have no programming/hacking knowledge at all. Just
- follow the instructions, and (hopefully) learn something. This
- could be your first steps into hacking (you have to learn to
- walk before you can run, right?).
-
- This article is intended for newbies only, *not* for experienced
- hackers. Lately, everyone (and I'm guilty too) has been flaming
- newbies/AOLers/etc. Maybe if we present them with some useful
- but harmless information they will slowly learn to ask intelligent
- questions, and be willing to learn and explore a bit on their
- own.
-
- If you are the sort of person that can convert hex<->decimal
- in your head, then this article probably doesn't contain anything
- you don't know already. You may want to skip the rest of this...
-
- Please read the entire article before attempting to use the
- supplied info. You will have problems or waste a lot of time
- if you don't read the whole thing first. You may wish to print
- this out to refer to as you "hack" your game.
-
- Ok, here we go.
-
- You buy the latest simulation, adventure, or quest game at
- the local software store (*you* would never FTP to a warez
- site), and rush home to try it out. The game looks like a lot
- of fun, but after hours of play you can't get far enough in
- the game to really enjoy it because you can't build your character
- up, or you don't have enough gold, hit points, or some other
- attribute. You are getting short on patience, and want to progress
- through the game more quickly. If only you had just a few more
- hit points to get past that nasty creature that blocks your
- path, or a little extra money to zone that extra block of land,
- or a bit more of some other attribute that the game hasn't
- given you enough of.
-
- What can you do? You can either muddle your way through according
- to the rules of the game, or you can take matters into your
- own hands and change the rules (i.e. you can cheat)!
-
- Cheating at some types of games isn't as hard as you might
- think; you do not need to be a computer guru or programmer
- to cheat at many computer games. I have found that cheating
- does not usually take the fun out of playing games, but rather
- allows me to play without the limitations imposed by a lack
- of gold or hit points or whatever the game uses to force me
- to progress too slowly. I'd rather explore than watch my character
- get killed every 5 minutes!
-
- Some of you will frown at the idea of cheating at a game.
- You will cry "cheating isn't fair!" or "what is the point of
- playing if you are going to cheat"? In response I must point
- out that many games are NOT spoiled by modifying the rules
- a bit, in many games a little cheating will do nothing more
- than give you freedom to explore and solve the puzzles the
- game has to offer. This is particularly true of games in which
- you must frequently battle monsters; in such games a little
- cheating will make it easier for you to quickly dispatch your
- foes and get on with the rest of the game. And remember, you
- are always free to re-play the game without cheating, once
- you have seen more of what the game has to offer.
-
- The games that are easy to cheat at are the ones that create
- small data files when you save them, usually only a few kilobytes.
- These games are usually so easy to cheat at (if you know how)
- that in ten or fifteen minutes you can have more gold or hit
- points than you will ever need. A few of the games I have cheated
- at are Moonbase, Centurion: Defender Of Rome, Bards Tale (1
- & 2), Might And Magic 2, Eye Of The Beholder (1, 2 & 3), Hard
- Nova, Black Crypt, Sim City (original and 2000), Goblins (more
- jokers, but that spoiled the game), XWing, and *countless*
- others. Typically, these are role playing, strategy, or simulation
- games with attributes that change value (such as the amount
- of money, hit points, etc.).
-
- The technique described here will not help you cheat at any
- game that does not allow you to save your game in progress,
- nor will it help with games that do not use measurable attributes
- such as money or hit points (so if you are stuck in a Lucas
- adventure such as Sam & Max, this article won't help you at
- all).
-
- If you have a character or game editor for your game, then
- you are all set. You will not need to manually modify your
- saved game, the editor will do everything for you. The catch
- is that this type of editor must be unique for each game, and
- they are not available for very many games. Besides, using
- a ready-made game editor is kind of lame...
-
- If you don't have a character or game editor for the game
- in question, you will have to make the changes yourself by
- locating and modifying the information within the saved game
- data file. Fear not, this is easier than you might think if
- you follow the instructions presented here. You will need no
- programming experience or specialized knowledge whatsoever,
- beyond what you learn here.
-
- The instructions below assume you use a MS-DOS based system,
- but the same rules technique applies no matter what your system
- is. You will need to locate the appropriate programs for your
- system. Suitable tools are available for whatever system you
- have, you just have to find them.
-
- You will need a hexadecimal based file editor, such as ZipZap
- by KeyStrokes Computer Works. There are many other hex file
- editors available as shareware or freeware for most computer
- systems. If you don't already have one, look on one your local
- bulletin board systems, or search the net. If you don't have
- a modem, perhaps your local computer store would be kind enough
- to give you a copy of a shareware or public domain hex editor
- if you bring in a blank disk (if they do, be sure to remember
- their help next time you want to buy a piece of software!).
- It doesn't matter which hex editor you use as long as you read
- and understand the documentation that came with it.
-
- You will also need a program that will convert decimal (base
- 10) to hexadecimal (base 16, commonly called hex). "Wait",
- you shout, "you said this was going to be easy. I don't understand
- hex or binary or any of that other stuff reserved for computer
- wizards. I'm still a newbie!". Fear not, you will not need
- to understand the mysteries of hex or other exotic number bases,
- nor will have to manually do conversions between number bases
- (see the next paragraph), all you will have to be able to do
- is use a pencil to print the digits 0 to 9, and the letters
- A to F as directed.
-
- For decimal to hex conversions, a pocket calculator with programming
- functions is by far the most convenient. These are cheaply
- available at almost any department store for about $30. You
- don't need a lot of other functions or features, all you need
- is a calculator that will convert the decimal number on its
- display to the hex equivalent when you press the right button.
- If you do not want to invest in such a calculator, there are
- numerous programs for most computers that will do the same
- trick. Everything you need will be available on most bulletin
- board systems or on the net.
-
- Finally, a program that will compare two files and spot the
- differences will make life much easier, although if you have
- lots of time to spare tyou can get by without one. I use FComp
- v2.00 by Guido Klemans.
-
- And now on to business. When you save a game, everything that
- you need to continue later must be saved, things such as the
- amount of money or gold, hit/spell/whatever points, etc. It
- is these values that you will want to be able to modify. Before
- you start, COPY YOUR SAVED GAME FIRST! It is very easy to destroy
- a saved game when playing around with files on the disk. If
- you copy the saved game file, you will have a backup to restore
- if need be.
-
- The first thing you must do is load and play the game a bit
- so that the attributes have changed from their default values.
- If you have played and saved the game before, you might wish
- to load your saved game. Write down the amount of money you
- have (and whatever other attributes the game uses), and save
- the game without allowing any of them to change after writing
- them down. Now play the game a bit more, trying to change as
- many of the values as you can. Again, write down all the values
- and save the game, but UNDER A DIFFERENT NAME or in a different
- saved game slot.
-
- You should now have two saved game files, and you will have
- to determine which files are the saved games. One helpful way
- to do this is to print the directory before you save any games,
- save the two games, print the directory again, and compare
- the listings. Usually, a saved game file won't be too hard
- to spot, it might end in .sav or .gam or .000 or something
- similar.
-
- The next step is to make a table of your attributes for both
- saved games, and for the location these values are found in
- the saved game files. Leave as much room as you can for the
- locations, because you may have several locations to record
- for each value. Your table should look something like the example
- below:
-
- Game 1 Game 2
- Item Dec Hex Loc Dec Hex Loc
- Money 3120 1032
- Hit Points 125 139
- Strength 87 96
- Spell Points 22 33
- Max Hit Pts. 139 139
- Max Strength 96 98
- Max Spell Pts. 30 35
-
- In the above table, for each game you have a column for decimal
- (which you wrote down) and hex (which you must convert to),
- and for the locations that these numbers occur within the saved
- game file (which you must find). Note that in the example,
- the current value for each item may or may not be the same
- as the maximum allowable. In games that the maximum for each
- item increases as you progress, you can change the maximum
- as easily as you can change the current value.
-
- Now you must convert each decimal value to hex and write the
- hex number in the appropriate place in hex column. Hex uses
- the digits 0 to 9, and the letters A to F. So, 9 in decimal
- is 9 in hex, 10 is A, 11 is B, 15 is F, and 16 is 10. No, you
- don't need to understand the mechanics of the conversion, simply
- press that hex button on your calculator!
-
- Okay, now you have a table with both decimal values (which
- you won't need anymore) and hex values (which you must search
- for in the saved game files). It might look something like
- this:
-
- Game 1 Game 2
- Item Dec Hex Loc Dec Hex Loc
- Money 3120 c30 1032 408
- Hit Points 125 7d 139 8b
- Strength 87 57 96 60
- Spell Points 22 16 33 21
- Max Hit Pts. 139 8b 139 8b
- Max Strength 96 60 98 62
- Max Spell Pts. 30 1e 35 23
-
- Now, with the help of a hexadecimal based file editor such
- as ZipZap, you must fill in the location columns. Refer to
- the instructions for your hex file editor for info on search
- functions.
-
- Load your first saved game file into the hex editor. Generally,
- part of the screen will show a bunch of hex numbers (0-9 and
- A-F), and another part will show the text equivalent (which
- you aren't at all interested in).
-
- Position the cursor at the start of the file, and select the
- search function. You will be searching for a hex number string,
- NOT for text (most hex based file editors allow either). Enter
- the hex number for the value of the item you are searching
- for (something like 3c or 026a). Depending on your hex editor,
- you may need to place a dollar sign or other symbol before
- the hex number to tell the editor that you are looking for
- hex, not text. Again, read the docs for your editor.
-
- When searching the file for values, you need an even number
- of digits (*not* including a dollar sign or other character,
- if required by the editor). Simply put a 0 in front of the
- hex number if you need to (c becomes 0c, and 26a becomes 026a.
- You get the idea). The even number of digits rule should apply
- no matter what program or computer you are using.
-
- If you are searching a file for a game that has multiple characters,
- you will usually see the name of the character in the text
- half of the display. The information for that character is
- probably stored after the name of the character and before
- the name of the next character (but not always!). All your
- players are usually stored in the same file.
-
- When you find the number you are looking for, it should be
- highlighted on the hex part of the screen (maybe more than
- once depending on your editor). Write down the location for
- the number. The location will either be a position into the
- file, or a block and position within the block (like ZipZap
- uses). These numbers may be either hex or decimal depending
- on your editor, but it doesn't matter which as long as you
- can find the number again when you need to.
-
- Once you write down the location, select the continue search
- function to get the next occurrence or group of occurrences
- of the number and write these down. Continue until you reach
- the end of the file.
-
- *************** IMPORTANT NOTE ***************
- * Due to the different ways that different microprocessors and
- * different CPU modes and different programs work, you may need
- * to reverse the order of the bytes you are searching for. In
- * english, this means that you might have to place the last 2
- * digits first, the next to last pair of digits next to first,
- * and the first pair of digits last. Remember, you MUST use an
- * even number of digits (032a instead of 32a). So, if you are
- * looking for 032a, you might have to search for 2a03. This is
- * often true of games that run on 80x86 based computers (MS-DOS
- * systems). You might want to add a place on your decimal to
- * hex table for the reversed hex values. If you have a Motorola
- * processor (Amiga or Macintosh) you will not have this problem.
-
- Sometimes (usually?), there will be many occurrences of the
- value for some items, and the extra ones may have nothing to
- do with what you want to change (and changing the wrong values
- will ruin the saved game). If there are too many occurrences
- of a value to be bothered writing down, skip that item for
- now and we will come back to it later.
-
- When you have finished with the first item, return to the
- start of the file. Repeat the above process for the rest of
- the items in your table.
-
- You now have a list of hex values for each item and the locations
- that these appear in the saved game file (or locations for
- at least some of the items). If there is only one occurrence
- of a number in the whole file, then that must be the one you
- want to change! If there are several occurrences of an item,
- but one is next to an item that only has one occurrence, then
- you have probably found the right one. But what if there are
- several occurrences of each?
-
- In this case, repeat the whole process on the second saved
- game file, with the hex values for the items in the second
- saved game. This will give you a list of the locations for
- the values in the second saved game file.
-
- ********* NOTE TO MAKE LIFE EASIER **********
- * An alternative method to manually searching each saved game
- * file for the locations of the info you want is to use a file
- * compare program like FComp. With such a program, you can easily
- * compare the two files in hex side-by-side, and note the locations
- * where there are differences. There may be many differences
- * that relate to things you do not need (or wish) to tamper with,
- * but a file compare program can make finding the attributes
- * *much* more quickly and easily. If possible, use a file compare
- * program to quickly create the above type of table. Look for
- * the appropriate hex values at the same locations in the two
- * saved game files.
-
- Now you have two sets of locations. For each item, look at
- the locations you wrote down for each saved game file. If a
- location isn't the same in each file, then eliminate that location.
- Since the game should save in the same format each time, the
- information you want to change should always be at the same
- location in any saved game file (but this is not always true!
- Sim City 2000 doesn't obey this rule). Since you saved your
- second game with different values, you should be able to find
- the location that any item is stored in by eliminating locations
- that don't have the correct value in the corresponding saved
- game file.
-
- At this point you have the locations of the information you
- want to change. If there are two or three locations you might
- have to change them all. This will be the case if there are
- separate current and maximum values, where the character is
- at full strength for that attribute. Also, a few games store
- some information twice; this will cause duplicate sets of locations.
-
- In your hex editor, return to the start of the file and search
- again for the value you want to change. When you find the right
- location, place the cursor on the first byte (pair of hex digits)
- you want to change. You might do this with the mouse or with
- the cursor keys, consult the documentation for your hex editor.
- Make sure you are ready to change the right number!
-
- Now select the "hex entry" or "modify hex" mode in your hex
- editor, and type in (in hex), the new value. For example, if
- the number you clicked on was 1c, type 7f. If the number was
- 012c, type 7fff. You can type larger numbers, starting with
- digits greater than 7 (like ffff), but if you do this, there
- is a risk that the game will think this is a negative number.
- BE VERY CAREFUL not to type more digits in than you searched
- for, and only use the digits 0-1 and a-f.
-
- ******* ANOTHER IMPORTANT NOTE *******
- * If the hex number you found was reversed, then the number
- * you type in must also be reversed. So, if the "real" hex number
- * is 012c, and the reversed number is 2c01, instead of entering
- * 7fff, you would enter ff7f. If you were entering an 8 digit
- * number (4 bytes) you might enter ffffff7f. The rest of this
- * article will present hex numbers only in the "forward" mode,
- * so please remember that you may need to reverse your hex numbers!
-
- If you are searching for a two digit hex number, and you know
- that the game allows values larger than 255 (ff), then the
- two digits before the number you searched for will probably
- be 00. If this is the case, you can change these too, so 001c
- might become 7fff. The same applies to larger numbers: if you
- searched for 1a2c and you know the game allows values greater
- than 65535 (ffff), and the four digits before it are 0000,
- then 00001a2c might become 7fffffff. You will almost always
- be changing either 2, 4, or 8 digits (this is due to the way
- the computer stores numbers, either as bytes, words, or long
- words).
-
- After you have made all the changes you wish to make on the
- current screen, save the file. The file is probably broken
- into blocks or sectors by the hex editor, and if you move to
- another block before saving your changes, they could be lost
- and you would have to enter your changes again.
-
- When you are finished making the changes you want to your
- saved game, exit the hex editor. Run the game, restore your
- modified saved game, and see what effect your changes had.
- That's all there is to it!
-
- If your saved game refuses to load after being changed, or
- if it acts strangely, it is probably for one of two reasons.
- Either you made a mistake, or the game uses some technique
- to prevent you from cheating. In the first case (the most usual
- cause), copy the backup of your save game file back over the
- original and try again. In the second case (very rare), you
- are out of luck unless you know enough that you probably wouldn't
- be reading this in the first place.
-
- It is a good idea to only change a few things at a time, at
- least until you get used to this sort of thing. If your changes
- resulted in negative numbers, you entered hex numbers too big
- (something like 7fff does not have the high bit set, so it
- is positive, where the next number in the sequence, 8000, does
- have the high bit set, so to the game it may be either positive
- or negative, depending on the game).
-
- If you made the number big but not too big, and if you get
- more money or raise some level as you play the game, it might
- change to a negative number for the same reason. So don't be
- too greedy! You might want to use numbers starting with 5 or
- 6 instead of 7 when changing your data file to avoid this problem
- (for example, use 5fff instead of 7fff, or ff5f instead of
- ff7f if you had to reverse the bytes). Remember that the game
- will raise your values as you progress, so a good rule is to
- give yourself just a little extra.
-
- The numbers you enter don't have to end in ff. For example,
- if you had 16 spell points (10 in hex), changing the 10 to
- 20 would give you 32 spell points. Use your hex<->decimal conversion
- program or calculator to figure out what hex values will yield
- specific decimal numbers and vice versa.
-
- That's all folks! Of course, there are a lot of games that
- are not this easy to work with, but this is a good starting
- point. Rarely, saved game files might include a checksum or
- use other techniques to prevent you from tampering with the
- data. If this is the case you will get an error when the game
- tries to load your saved game, and you are out of luck. Some
- games encrypt their saved game files; these require a decryption
- program (such as my Decode for the Amiga) and a lot of expertise
- to do anything with.
-
- Finally, if you have a lot of memory, and the game you are
- working on multi-tasks (so you can run other programs while
- you play the game), you can often save, modify, and re-load
- your saved games without exiting the game! Many Amiga games
- allow this, as do some games that will run under Microsoft
- Windows.
-
- That's enough for today. Send questions, comments, suggestions,
- flames, etc to madsci@mi.net
-
-