Thursday, August 12, 2004

The Art of Hacking... to CHEAT!... Part 2

This is the second part on learning how to cheat via hacking. Part 1 dealt with hexadeciamal numbers, which you MUST understand to continue. I will be using ZSNES and PAR codes as an example. The process though is similar for all hack-and-cheat software. For more info on ZSNES, check out my introduction to it and emulation.

Now that is out of the way, I am going to use Chrono Trigger as an example. You may want to use another, but I can't guarantee results. I tried to find a code for keeping the stars in Yoshi's Island at 30, but failed to find it. However, the process is the same. There is two methods in finding a code: exact value search and comparative search. But before we do that, I have to show you how to input a code you already know. If you already know this, skip the next paragraph.

In ZSNES menu, go to Cheat > Add Code. If your not using Chrono Trigger, search for a PAR code. CT fans, I am going to go ahead and give you one. 7E5E3463 Input that in the 'Enter Code' box and press enter. Now input a description. This is the first character's magic (technique) points, so I inputted "char 1 mp" It then moves up to the box. The address and current value (CV) is listed first. This is what you input with the code. PV stands for previous value, the value it was before the code was used. CV and PV well be used again when searching for memory locations. TGL is toggle: double click a code to turn it on or off. The buttons below are self explanatory: Remove deletes a code, Toggle turns a code on or off, Save saves your codes to a file, Load load it, and Fix modifies the code in case it isn't working. I never had to use it.

Exact Value Searching

For Chrono Trigger, go to anyplace you will have a fight... we will search for the first character's hit points and freeze it at a certain value. (This can also be done with any RPG for that matter) Everyone else, find a value who's numerical value you can see, whether it is money, ammo, time left, or whatever. Again, I can't guarantee you'll find it, I can just show you the process. Those programmers may cleverly hide the data!

Okay Chrono Trigger fans, ready? Note the hit points of the first character, which is most likely to be Crono. Go to Cheat > Search. Since the max HP is 999, we want to look for 2 bytes. Choose dec and exact value search if they aren't selected already. Click start. Enter the HP value and click Search or press enter. ZSNES window will change to tell you how many results came back. I got 41 on my first try. You want only one result, or a very small number so that you can test each one to see which is correct. If you click View, you can see them all. Value is the current value, PValue is the previous value.

Now press 'Esc' till your back in the game and enter a fight. Pause the game. Go ahead and repeat the search. Some of those values might have changed, so lets get rid of them. Unpause and pray some foe takes some HP away. Do another search with the new HP. Repeat the process (whenever the first character's HP is changed or is unchanged after a period of time, do a search) till you get one or a very small number of results which you just can't get rid of. With your one memory address selected (or one to test) on the View window, click add. If you get 0 results, whine, do a small fit, and try again. Sometimes it isn't possible to find a code for what your looking for.

A new window appears. Input 999 (the max HP) and the PAR code equilivent is automatically displayed. Give it a description (like 'Char 1 HP) and click add. It is now part of your cheats. Return to your game and see if it worked. On some games, you have to get hit first (or use your ammo, or whatever) for the value to change.

Comparative Searching

Now that you got the general idea, I am just going to explain this process without an example. I don't find a need for this except for bars and when I want to do something really weird, like jumping without going down.

Choose Cheat > Search, select number of bytes (use 1 byte to start with), dec or hex (hmph, dec!), and comparative search. ZSNES then notes all the values in the game's memory from 7E0000 to 7FFFFF. Now go play the game for a while until 1) the value changes OR 2) a reasonable amount of time has passed and the value hasn't change. Now, instead of asking for the new value, it asks if the value is greater, lesser, equal to, or unequal to (that is '!=', for those who haven't seen such of a thing) to old value. Pick which one, click search, and see how many values is left. Repeat till you got down to one or a small number of values. Click View and Add and input the new cheat as before.

That's it! Because you don't know the actual value, this generally takes longer. You might also want to try this if exact value searching does nothing for you.

0 Comments:

Post a Comment

<< Home