![]() |
| |
![]() |
||
|
![]() |
|||||||||||||||||||||||||||
|
Save File Hacking in Gaming... Hello and welcome to MOSJ's Warehouse column for July 2001. This month I will be talking about cheating in computer games. There are several methods for cheating as well as the obvious ethical questions that cheating brings up, we really won't discuss any of that useless stuff, just concentrate on one method of cheating, Save File Hacking. Let's dive in... Now, before the FBI kicks down my door and shoots my laptop for talking about "hacking" I better explain what I am talking about. This is not the destructive server crashing and credit card stealing kind of hacking you might hear about on the news. That's evil hacking. Save file hacking is not like that, it's good hacking. Or at least, not-quite-so-evil hacking. Save file hacking is the act of editing a file generated by a game's save feature using an external source. In fact, I'm going to call it "save file editing" for the rest of this column, because it would look bad if MOSJ shows up at the top of the list when some kid searches for "hacking" on a search engine [It's good to know you care - Ed.].
When Do You Cheat? Let's pretend you are playing a computer game and have 1,237 gold coins, but you need 46,895 gold coins to buy the Super Duper Power Blaster [That's my favorite weapon - Ed.]. An honest hard-working gamer such as myself would actually play the game until he had enough gold to buy the Super Duper Power Blaster, but some people will want to take the quick road to success. This is where save file editing can come in handy. What if you could just save the game where you are, edit your save file to change your 1,237 gold to 75,000 gold? I can already do that, and I'll tell you how. First, download this stuff: ValueConverter is freeware. BrainHex is $25 shareware, but it has a 30-day trial period. That means you'll be able to use then both until the August column is out, and then I'll talk about some new things for you to download anyway. There is actually a freeware alternative to BrainHex called HexEdit. I didn't like HexEdit as much and there was something scary in the readme file, so I've been sticking with BrainHex. Oh, one more thing before we start... You need to play a computer game and create a save-file. It needs to be a game with a numerical value for something you want (gold, minerals, etc.) I find that role playing games or strategy games work the best for this. To create the save-file, play the game of your choice, and save it when the resource you want to edit is at an unusual number. 100, 200, 50, or anything between 0 and 15 would be a bad choice, but 131, 1,246, or 92 would be good numbers. The reason for this is because you want a number that will only appear once in the save-file. Write the number down on a piece of paper. The save file should then be somewhere inside the folder for that game. For my example, I made a save file for a game where I have 29,680 gold, and I wrote that number down on a piece of paper.
The first thing you need to do is open the save file in BrainHex. You can do this by dragging and dropping, or launch BrainHex and select file then open. Wow, just look at all those numbers and letters! Just having that open on your screen makes you look like a hacker! Now, close that before you get confused. What you just saw was all of the information that was stored about your game in the save file. It's all stored in a format called Hexadecimal or Hex. Hexadecimal is a numbering system that is slightly different than the Decimal system, which most humans typically use. The Decimal System has ten digits, from 0-9, but Hexadecimal has 16 digits, from 0-F. Decimal Counting: Hexadecimal Counting: So, 10 in Hex would be 16 in Decimal. 11 would be 17. If you can't follow that or don't want to spend all of your time doing conversions, don't worry. Start up ValueConverter.
This program will automatically convert numbers between Decimal, Hex, Binary, Octal, and other formats. As you can see in the picture, I typed 29,680 (leave out the comma) in the Signed Long box and it's equivalent appeared in all of the other boxes. The important one here is Hex. In my example, 29,680 converted to Hex is 73F0. Your number will be different. Write it down on a piece of paper. Next, pick an amount you'd like to change that number to. I chose 50,000 and then typed into the Signed Long box, which came out to C350 in Hex. This number should be written down on paper too. You should be careful not to go too high, or you could run into problems, so don't be too greedy until you have done this a few times. Put your desired value into the Signed Long box and write down the new hex number.
Now, open your save file in BrainHex again. Go to the Search menu and
select Find... This opens up a dialogue box. Check the 'edit data in hex'
box and type your first written down Hex number in the 'Data to Find:'
box and type the second Hex number you wrote down into the 'Replace selection
with:' box. click the Find button. This will search through the file and
highlight the number you are searching for. When the number is highlighted,
you will want to click the lock in the top left corner of the screen.
This should make it appear as an unlocked lock. That allows you to edit
the file. (See, they don't want you messing things up.) Next click the
icon just to the right of the magnifying glass icons to make the change. From here, you can try to re-load the game from your save file, hope that it works, and see if you successfully edited it.
What If It Doesn't Work? I suppose this didn't work for a lot of people who may have tried it. There are several things that could have gone wrong. Maybe the number you changed wasn't really the number you were supposed to change. In that case, trying it again with a different number might work. Other times, you may not even find the number you are looking for. There's a reason for this. Game makers don't necessarily like people doing such things to their save files and use various methods to keep out nosy wannabe hackers. File compression is the most likely thing that could have been done. To solve this problem, you will need to uncompress the file before opening it in BrainHex. How do you do that? Well, it depends on what kind of compression is used, but if you go on VersionTracker and look for zip and gzip utilities, one of them may work. In fact, one that I consider to be very good is called Eazy-GZ, and I have edited some save files that required me to use that program first. If you find out that the file is indeed compressed, you will need to uncompress the file before opening it with BrainHex and then compress it again before trying to load the game. In general, doing something like this will require a decent amount of trial and error, and there are many games that this just won't work for. If that becomes frustrating or seems like too much work, fear not. There is an easier way to do this.
The Easy Way Guess what? Other people have written save-game editing programs that handle all of this for you. One worth mentioning is called ACE! I am mentioning this program because most cheat programs only work for one game, but ACE! works for many different games. Of course, this all-in-one design also has some limitations and isn't as well-suited to some games as it is for others. For an alternative to ACE! There are also several specialized save-game editors that focus on just one game and have plenty of features. I know that such programs exist for Diablo II, Master of Orion II, Heroes of Might and Magic II, and Baldur's Gate, and I would not be surprised if an editor existed for your favorite game too.
The End of the Page I sure do seem to know a lot about cheating in games, don't I? Oddly enough, I don't cheat when I play games, for it takes away all of the fun for me. I do know a lot of people like to cheat though, so I thought it might be interesting to see some of the behind-the-scenes stuff that goes into making a cheat program. Anyway, I hope somebody learned something this month. Until next time...
|
||||||||||||||||||||||||||||
|