home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / pc / softdox / gamecht.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  22.5 KB  |  455 lines

  1. Newsgroups: alt.2600
  2. Subject: REPOST: How To Cheat At Games (long)
  3. Date: Wed May  3 00:23:29 1995
  4.  
  5. ---> This message gated from Fido at 1:255/9.0
  6. ---> Original message by Doug Mclean
  7.  
  8. (*sigh*) There were problems with the news feed last two times I
  9. tried send this, so I'll try one more time... If it made it out
  10. before, sorry for wasting bandwidth with the repost.
  11.  
  12. --- original post follows ---
  13.  
  14. In an effort to get some real info into this newsgroup, and 
  15. to help out some of the lamers and newbies that hang out here, 
  16. I'm posting this article I wrote a few years ago. The following 
  17. info will help newbies cheat at certain types of games, even 
  18. if they have no programming/hacking knowledge at all. Just 
  19. follow the instructions, and (hopefully) learn something. This 
  20. could be your first steps into hacking (you have to learn to 
  21. walk before you can run, right?).
  22.  
  23. This article is intended for newbies only, *not* for experienced 
  24. hackers. Lately, everyone (and I'm guilty too) has been flaming 
  25. newbies/AOLers/etc. Maybe if we present them with some useful 
  26. but harmless information they will slowly learn to ask intelligent 
  27. questions, and be willing to learn and explore a bit on their 
  28. own.
  29.  
  30. If you are the sort of person that can convert hex<->decimal 
  31. in your head, then this article probably doesn't contain anything 
  32. you don't know already. You may want to skip the rest of this...
  33.  
  34. Please read the entire article before attempting to use the
  35. supplied info. You will have problems or waste a lot of time
  36. if you don't read the whole thing first. You may wish to print
  37. this out to refer to as you "hack" your game.
  38.  
  39. Ok, here we go.
  40.  
  41. You buy the latest simulation, adventure, or quest game at 
  42. the local software store (*you* would never FTP to a warez 
  43. site), and rush home to try it out. The game looks like a lot 
  44. of fun, but after hours of play you can't get far enough in 
  45. the game to really enjoy it because you can't build your character 
  46. up, or you don't have enough gold, hit points, or some other 
  47. attribute. You are getting short on patience, and want to progress 
  48. through the game more quickly. If only you had just a few more 
  49. hit points to get past that nasty creature that blocks your 
  50. path, or a little extra money to zone that extra block of land, 
  51. or a bit more of some other attribute that the game hasn't 
  52. given you enough of.
  53.  
  54. What can you do? You can either muddle your way through according 
  55. to the rules of the game, or you can take matters into your 
  56. own hands and change the rules (i.e. you can cheat)!
  57.  
  58. Cheating at some types of games isn't as hard as you might 
  59. think; you do not need to be a computer guru or programmer 
  60. to cheat at many computer games. I have found that cheating 
  61. does not usually take the fun out of playing games, but rather 
  62. allows me to play without the limitations imposed by a lack 
  63. of gold or hit points or whatever the game uses to force me 
  64. to progress too slowly. I'd rather explore than watch my character 
  65. get killed every 5 minutes!
  66.  
  67. Some of you will frown at the idea of cheating at a game. 
  68. You will cry "cheating isn't fair!" or "what is the point of 
  69. playing if you are going to cheat"? In response I must point 
  70. out that many games are NOT spoiled by modifying the rules 
  71. a bit, in many games a little cheating will do nothing more 
  72. than give you freedom to explore and solve the puzzles the 
  73. game has to offer. This is particularly true of games in which 
  74. you must frequently battle monsters; in such games a little 
  75. cheating will make it easier for you to quickly dispatch your 
  76. foes and get on with the rest of the game. And remember, you 
  77. are always free to re-play the game without cheating, once 
  78. you have seen more of what the game has to offer.
  79.  
  80. The games that are easy to cheat at are the ones that create 
  81. small data files when you save them, usually only a few kilobytes. 
  82. These games are usually so easy to cheat at (if you know how) 
  83. that in ten or fifteen minutes you can have more gold or hit 
  84. points than you will ever need. A few of the games I have cheated 
  85. at are Moonbase, Centurion: Defender Of Rome, Bards Tale (1 
  86. & 2), Might And Magic 2, Eye Of The Beholder (1, 2 & 3), Hard 
  87. Nova, Black Crypt, Sim City (original and 2000), Goblins (more 
  88. jokers, but that spoiled the game), XWing, and *countless* 
  89. others. Typically, these are role playing, strategy, or simulation 
  90. games with attributes that change value (such as the amount 
  91. of money, hit points, etc.).
  92.  
  93. The technique described here will not help you cheat at any 
  94. game that does not allow you to save your game in progress, 
  95. nor will it help with games that do not use measurable attributes 
  96. such as money or hit points (so if you are stuck in a Lucas 
  97. adventure such as Sam & Max, this article won't help you at 
  98. all).
  99.  
  100. If you have a character or game editor for your game, then 
  101. you are all set. You will not need to manually modify your 
  102. saved game, the editor will do everything for you. The catch 
  103. is that this type of editor must be unique for each game, and 
  104. they are not available for very many games. Besides, using 
  105. a ready-made game editor is kind of lame...
  106.  
  107. If you don't have a character or game editor for the game 
  108. in question, you will have to make the changes yourself by 
  109. locating and modifying the information within the saved game 
  110. data file. Fear not, this is easier than you might think if 
  111. you follow the instructions presented here. You will need no 
  112. programming experience or specialized knowledge whatsoever, 
  113. beyond what you learn here.
  114.  
  115. The instructions below assume you use a MS-DOS based system, 
  116. but the same rules technique applies no matter what your system 
  117. is. You will need to locate the appropriate programs for your 
  118. system. Suitable tools are available for whatever system you 
  119. have, you just have to find them.
  120.  
  121. You will need a hexadecimal based file editor, such as ZipZap 
  122. by KeyStrokes Computer Works. There are many other hex file 
  123. editors available as shareware or freeware for most computer 
  124. systems. If you don't already have one, look on one your local 
  125. bulletin board systems, or search the net. If you don't have 
  126. a modem, perhaps your local computer store would be kind enough 
  127. to give you a copy of a shareware or public domain hex editor 
  128. if you bring in a blank disk (if they do, be sure to remember 
  129. their help next time you want to buy a piece of software!). 
  130. It doesn't matter which hex editor you use as long as you read 
  131. and understand the documentation that came with it.
  132.  
  133. You will also need a program that will convert decimal (base 
  134. 10) to hexadecimal (base 16, commonly called hex). "Wait", 
  135. you shout, "you said this was going to be easy. I don't understand 
  136. hex or binary or any of that other stuff reserved for computer 
  137. wizards. I'm still a newbie!". Fear not, you will not need 
  138. to understand the mysteries of hex or other exotic number bases, 
  139. nor will have to manually do conversions between number bases 
  140. (see the next paragraph), all you will have to be able to do 
  141. is use a pencil to print the digits 0 to 9, and the letters 
  142. A to F as directed.
  143.  
  144. For decimal to hex conversions, a pocket calculator with programming 
  145. functions is by far the most convenient. These are cheaply 
  146. available at almost any department store for about $30. You 
  147. don't need a lot of other functions or features, all you need 
  148. is a calculator that will convert the decimal number on its 
  149. display to the hex equivalent when you press the right button. 
  150. If you do not want to invest in such a calculator, there are 
  151. numerous programs for most computers that will do the same 
  152. trick. Everything you need will be available on most bulletin 
  153. board systems or on the net.
  154.  
  155. Finally, a program that will compare two files and spot the 
  156. differences will make life much easier, although if you have 
  157. lots of time to spare tyou can get by without one. I use FComp 
  158. v2.00 by Guido Klemans.
  159.  
  160. And now on to business. When you save a game, everything that 
  161. you need to continue later must be saved, things such as the 
  162. amount of money or gold, hit/spell/whatever points, etc. It 
  163. is these values that you will want to be able to modify. Before 
  164. you start, COPY YOUR SAVED GAME FIRST! It is very easy to destroy 
  165. a saved game when playing around with files on the disk. If 
  166. you copy the saved game file, you will have a backup to restore 
  167. if need be.
  168.  
  169. The first thing you must do is load and play the game a bit 
  170. so that the attributes have changed from their default values. 
  171. If you have played and saved the game before, you might wish 
  172. to load your saved game. Write down the amount of money you 
  173. have (and whatever other attributes the game uses), and save 
  174. the game without allowing any of them to change after writing 
  175. them down. Now play the game a bit more, trying to change as 
  176. many of the values as you can. Again, write down all the values 
  177. and save the game, but UNDER A DIFFERENT NAME or in a different 
  178. saved game slot.
  179.  
  180. You should now have two saved game files, and you will have 
  181. to determine which files are the saved games. One helpful way 
  182. to do this is to print the directory before you save any games, 
  183. save the two games, print the directory again, and compare 
  184. the listings. Usually, a saved game file won't be too hard 
  185. to spot, it might end in .sav or .gam or .000 or something 
  186. similar. 
  187.  
  188. The next step is to make a table of your attributes for both 
  189. saved games, and for the location these values are found in 
  190. the saved game files. Leave as much room as you can for the 
  191. locations, because you may have several locations to record 
  192. for each value. Your table should look something like the example 
  193. below:
  194.  
  195.                 Game 1               Game 2
  196. Item            Dec    Hex   Loc     Dec   Hex   Loc
  197. Money           3120                 1032
  198. Hit Points       125                  139
  199. Strength          87                   96
  200. Spell Points      22                   33
  201. Max Hit Pts.     139                  139
  202. Max Strength      96                   98
  203. Max Spell Pts.    30                   35
  204.  
  205. In the above table, for each game you have a column for decimal 
  206. (which you wrote down) and hex (which you must convert to), 
  207. and for the locations that these numbers occur within the saved 
  208. game file (which you must find). Note that in the example, 
  209. the current value for each item may or may not be the same 
  210. as the maximum allowable. In games that the maximum for each 
  211. item increases as you progress, you can change the maximum 
  212. as easily as you can change the current value.
  213.  
  214. Now you must convert each decimal value to hex and write the 
  215. hex number in the appropriate place in hex column. Hex uses 
  216. the digits 0 to 9, and the letters A to F. So, 9 in decimal 
  217. is 9 in hex, 10 is A, 11 is B, 15 is F, and 16 is 10. No, you 
  218. don't need to understand the mechanics of the conversion, simply 
  219. press that hex button on your calculator!
  220.  
  221. Okay, now you have a table with both decimal values (which 
  222. you won't need anymore) and hex values (which you must search 
  223. for in the saved game files). It might look something like 
  224. this:
  225.  
  226.                 Game 1              Game 2
  227. Item            Dec   Hex   Loc     Dec   Hex   Loc
  228. Money           3120   c30          1032   408
  229. Hit Points       125    7d           139    8b
  230. Strength          87    57            96    60
  231. Spell Points      22    16            33    21
  232. Max Hit Pts.     139    8b           139    8b
  233. Max Strength      96    60            98    62
  234. Max Spell Pts.    30    1e            35    23
  235.  
  236. Now, with the help of a hexadecimal based file editor such 
  237. as ZipZap, you must fill in the location columns. Refer to 
  238. the instructions for your hex file editor for info on search 
  239. functions.
  240.  
  241. Load your first saved game file into the hex editor. Generally, 
  242. part of the screen will show a bunch of hex numbers (0-9 and 
  243. A-F), and another part will show the text equivalent (which 
  244. you aren't at all interested in).
  245.  
  246. Position the cursor at the start of the file, and select the 
  247. search function. You will be searching for a hex number string, 
  248. NOT for text (most hex based file editors allow either). Enter 
  249. the hex number for the value of the item you are searching 
  250. for (something like 3c or 026a). Depending on your hex editor, 
  251. you may need to place a dollar sign or other symbol before 
  252. the hex number to tell the editor that you are looking for 
  253. hex, not text. Again, read the docs for your editor.
  254.  
  255. When searching the file for values, you need an even number 
  256. of digits (*not* including a dollar sign or other character, 
  257. if required by the editor). Simply put a 0 in front of the 
  258. hex number if you need to (c becomes 0c, and 26a becomes 026a. 
  259. You get the idea). The even number of digits rule should apply 
  260. no matter what program or computer you are using.
  261.  
  262. If you are searching a file for a game that has multiple characters, 
  263. you will usually see the name of the character in the text 
  264. half of the display. The information for that character is 
  265. probably stored after the name of the character and before 
  266. the name of the next character (but not always!). All your 
  267. players are usually stored in the same file.
  268.  
  269. When you find the number you are looking for, it should be 
  270. highlighted on the hex part of the screen (maybe more than 
  271. once depending on your editor). Write down the location for 
  272. the number. The location will either be a position into the 
  273. file, or a block and position within the block (like ZipZap 
  274. uses). These numbers may be either hex or decimal depending 
  275. on your editor, but it doesn't matter which as long as you 
  276. can find the number again when you need to.
  277.  
  278. Once you write down the location, select the continue search 
  279. function to get the next occurrence or group of occurrences 
  280. of the number and write these down. Continue until you reach 
  281. the end of the file.
  282.  
  283. *************** IMPORTANT NOTE ***************
  284. * Due to the different ways that different microprocessors and 
  285. * different CPU modes and different programs work, you may need 
  286. * to reverse the order of the bytes you are searching for. In 
  287. * english, this means that you might have to place the last 2 
  288. * digits first, the next to last pair of digits next to first, 
  289. * and the first pair of digits last. Remember, you MUST use an 
  290. * even number of digits (032a instead of 32a). So, if you are 
  291. * looking for 032a, you might have to search for 2a03. This is 
  292. * often true of games that run on 80x86 based computers (MS-DOS 
  293. * systems). You might want to add a place on your decimal to 
  294. * hex table for the reversed hex values. If you have a Motorola 
  295. * processor (Amiga or Macintosh) you will not have this problem.
  296.  
  297. Sometimes (usually?), there will be many occurrences of the 
  298. value for some items, and the extra ones may have nothing to 
  299. do with what you want to change (and changing the wrong values 
  300. will ruin the saved game). If there are too many occurrences 
  301. of a value to be bothered writing down, skip that item for 
  302. now and we will come back to it later.
  303.  
  304. When you have finished with the first item, return to the 
  305. start of the file. Repeat the above process for the rest of 
  306. the items in your table.
  307.  
  308. You now have a list of hex values for each item and the locations 
  309. that these appear in the saved game file (or locations for 
  310. at least some of the items). If there is only one occurrence 
  311. of a number in the whole file, then that must be the one you 
  312. want to change! If there are several occurrences of an item, 
  313. but one is next to an item that only has one occurrence, then 
  314. you have probably found the right one. But what if there are 
  315. several occurrences of each?
  316.  
  317. In this case, repeat the whole process on the second saved 
  318. game file, with the hex values for the items in the second 
  319. saved game. This will give you a list of the locations for 
  320. the values in the second saved game file.
  321.  
  322. ********* NOTE TO MAKE LIFE EASIER **********
  323. * An alternative method to manually searching each saved game 
  324. * file for the locations of the info you want is to use a file 
  325. * compare program like FComp. With such a program, you can easily 
  326. * compare the two files in hex side-by-side, and note the locations 
  327. * where there are differences. There may be many differences 
  328. * that relate to things you do not need (or wish) to tamper with, 
  329. * but a file compare program can make finding the attributes 
  330. * *much* more quickly and easily. If possible, use a file compare 
  331. * program to quickly create the above type of table. Look for 
  332. * the appropriate hex values at the same locations in the two 
  333. * saved game files.
  334.  
  335. Now you have two sets of locations. For each item, look at 
  336. the locations you wrote down for each saved game file. If a 
  337. location isn't the same in each file, then eliminate that location. 
  338. Since the game should save in the same format each time, the 
  339. information you want to change should always be at the same 
  340. location in any saved game file (but this is not always true! 
  341. Sim City 2000 doesn't obey this rule). Since you saved your 
  342. second game with different values, you should be able to find 
  343. the location that any item is stored in by eliminating locations 
  344. that don't have the correct value in the corresponding saved 
  345. game file.
  346.  
  347. At this point you have the locations of the information you 
  348. want to change. If there are two or three locations you might 
  349. have to change them all. This will be the case if there are 
  350. separate current and maximum values, where the character is 
  351. at full strength for that attribute. Also, a few games store 
  352. some information twice; this will cause duplicate sets of locations.
  353.  
  354. In your hex editor, return to the start of the file and search 
  355. again for the value you want to change. When you find the right 
  356. location, place the cursor on the first byte (pair of hex digits) 
  357. you want to change. You might do this with the mouse or with 
  358. the cursor keys, consult the documentation for your hex editor. 
  359. Make sure you are ready to change the right number!
  360.  
  361. Now select the "hex entry" or "modify hex" mode in your hex 
  362. editor, and type in (in hex), the new value. For example, if 
  363. the number you clicked on was 1c, type 7f. If the number was 
  364. 012c, type 7fff. You can type larger numbers, starting with 
  365. digits greater than 7 (like ffff), but if you do this, there 
  366. is a risk that the game will think this is a negative number. 
  367. BE VERY CAREFUL not to type more digits in than you searched 
  368. for, and only use the digits 0-1 and a-f.
  369.  
  370. ******* ANOTHER IMPORTANT NOTE *******
  371. * If the hex number you found was reversed, then the number 
  372. * you type in must also be reversed. So, if the "real" hex number 
  373. * is 012c, and the reversed number is 2c01, instead of entering 
  374. * 7fff, you would enter ff7f. If you were entering an 8 digit 
  375. * number (4 bytes) you might enter ffffff7f. The rest of this 
  376. * article will present hex numbers only in the "forward" mode, 
  377. * so please remember that you may need to reverse your hex numbers!
  378.  
  379. If you are searching for a two digit hex number, and you know 
  380. that the game allows values larger than 255 (ff), then the 
  381. two digits before the number you searched for will probably 
  382. be 00. If this is the case, you can change these too, so 001c 
  383. might become 7fff. The same applies to larger numbers: if you 
  384. searched for 1a2c and you know the game allows values greater 
  385. than 65535 (ffff), and the four digits before it are 0000, 
  386. then 00001a2c might become 7fffffff. You will almost always 
  387. be changing either 2, 4, or 8 digits (this is due to the way 
  388. the computer stores numbers, either as bytes, words, or long 
  389. words).
  390.  
  391. After you have made all the changes you wish to make on the 
  392. current screen, save the file. The file is probably broken 
  393. into blocks or sectors by the hex editor, and if you move to 
  394. another block before saving your changes, they could be lost 
  395. and you would have to enter your changes again.
  396.  
  397. When you are finished making the changes you want to your 
  398. saved game, exit the hex editor. Run the game, restore your 
  399. modified saved game, and see what effect your changes had. 
  400. That's all there is to it!
  401.  
  402. If your saved game refuses to load after being changed, or 
  403. if it acts strangely, it is probably for one of two reasons. 
  404. Either you made a mistake, or the game uses some technique 
  405. to prevent you from cheating. In the first case (the most usual 
  406. cause), copy the backup of your save game file back over the 
  407. original and try again. In the second case (very rare), you 
  408. are out of luck unless you know enough that you probably wouldn't 
  409. be reading this in the first place.
  410.  
  411. It is a good idea to only change a few things at a time, at 
  412. least until you get used to this sort of thing. If your changes 
  413. resulted in negative numbers, you entered hex numbers too big 
  414. (something like 7fff does not have the high bit set, so it 
  415. is positive, where the next number in the sequence, 8000, does 
  416. have the high bit set, so to the game it may be either positive 
  417. or negative, depending on the game).
  418.  
  419. If you made the number big but not too big, and if you get 
  420. more money or raise some level as you play the game, it might 
  421. change to a negative number for the same reason. So don't be 
  422. too greedy! You might want to use numbers starting with 5 or 
  423. 6 instead of 7 when changing your data file to avoid this problem 
  424. (for example, use 5fff instead of 7fff, or ff5f instead of 
  425. ff7f if you had to reverse the bytes). Remember that the game 
  426. will raise your values as you progress, so a good rule is to 
  427. give yourself just a little extra.
  428.  
  429. The numbers you enter don't have to end in ff. For example, 
  430. if you had 16 spell points (10 in hex), changing the 10 to 
  431. 20 would give you 32 spell points. Use your hex<->decimal conversion 
  432. program or calculator to figure out what hex values will yield 
  433. specific decimal numbers and vice versa.
  434.  
  435. That's all folks! Of course, there are a lot of games that 
  436. are not this easy to work with, but this is a good starting 
  437. point. Rarely, saved game files might include a checksum or 
  438. use other techniques to prevent you from tampering with the 
  439. data. If this is the case you will get an error when the game 
  440. tries to load your saved game, and you are out of luck. Some 
  441. games encrypt their saved game files; these require a decryption 
  442. program (such as my Decode for the Amiga) and a lot of expertise 
  443. to do anything with.
  444.  
  445. Finally, if you have a lot of memory, and the game you are 
  446. working on multi-tasks (so you can run other programs while 
  447. you play the game), you can often save, modify, and re-load 
  448. your saved games without exiting the game! Many Amiga games 
  449. allow this, as do some games that will run under Microsoft 
  450. Windows.
  451.  
  452. That's enough for today. Send questions, comments, suggestions, 
  453. flames, etc to madsci@mi.net
  454.  
  455.