Jade Books of Secret Knowledge, or Bryce's guide to Cythera Hacking

By Bryce Schroeder



Chapter 1
Save File Hacking Theory, or the Jade Book of Abstract Thought

When you save your game in Cythera, many things are written in this file, such as the time of day, your skills and health, and many other things that describe your charicter's lot in life. If one knew which numbers in the save game file controlled the attribute he/she desired to change, the value could be altered, with corresponding effects in the game. This is the theoretical basis for all game file hacking.

Chapter 2
Tools for determining needed addresses, or the Jade Book of Knowledge

So, how does one find the addresses? The computer program ResCompare now comes into play. You'll need to download it at: ftp://ftp.vnet.net/pub/users/hecht/RC-26.sit.binAlso, get Hexedit at the address below. You'll need it too: http://www.nickshanks.com/mac/resources/freeware/hexedit.sitNow, let's get started. Go into Cythera and position yourself two spaces away from the thing you are teleporting to. Save the game. Move more space away in the direction you want to teleport,and "save as" so as not to overwrite the original file. You should now have two saved games, one of you two spaces away and one where you are one space closer.

Fig. 1 - Move one space closer, and save a copy of the game.

Chapter 3
Determining needed addresses, or the Jade Book of Vision

Take the first saved game, where your character is two spaces away from the object two be teleported through, hereafter referred to as the original, and drag in on to the icon of ResCompare. Then, drag the second game, hereafter referred to as the new game, on to ResCompare. You should see something like this:

Fig. 2 The Addresses controlling position are highlighted in black in this screen shot.

Pretty baffling, huh? It was to me at first, too. That address at the top - 000008EC -controls the time of day. For every comparison you make, that'll be different. Ignore it for now, it isn't what we're looking for. Next, we see 000008F4. This is also a static address, and also has something to do with time, to the best of my knowledge. Alright, this is the important part, so listen up: If you are teleporting horizontally, you are looking for something like 50 which has changed to 60. If you are teleporting vertically, you might look for something that has changed from, for instance, 2E to 2F. In any case, the indicting factor is repetition. In our example, the transformation 11 to 10 is repeated three times. You'll note that the transformation 24 to 04 occurs twice. We know this is not the position variable, however, because of the size of the change - 32 - is much too large, since we took only one step, whereas 11 to 10 is a difference of one. The first address, in this case 00000B2C, but it can be anything before 00001000, has to do with the map given to you at the beginning of the game. The next two control your actual position, and that of the camera. By changing these to two different numbers, some odd effects can result. I accidentally turned my character invisible in such an incomplete transportation, If you do, don't panic, you will be reunited with your body as soon as you enter a new area, for instance going into a building or to the next level of a cave. Now that you have these values, I reccomend that you write them down or take a screen shot and store it in your scrapbook.

Chapter 4
The hack, or the Jade Book of Power

I assume now that you have the following things:
Two Saved Games - as described above.
The changed addresses - either in your scrapbook or on a piece of paper.

Okay, open up your saved game (The one where you are one space away from what you want to teleport through) in HexEdit. Make sure that the radio button at the bottom is set to 'data' - the file also has a resource fork, which is of little interest right now. When the file opens, you will be confronted with a column of hexadecimal numbers on the left, and a column of ASCII (Text) on the other. Now, we need to find the addresses that we identified previously. You could look for them by hand, but that isn't very wise - HexEdit has a find address feature. Press Command-H and a dialog will come up, asking for an address. Be forewarned, though - it is, by default, set to accept decimal addresses. Just click the radio button on the ÒHexÓ button to fix this. Now, enter the first address we located, and type it into the box. Press "Okay". You will be transported to the line that contains the address. Now, look at the line. Do you see the number that ResCompare associated with that address? (In our example, 10). Select it. Now, the next major part:

Chapter 5
Figuring out what to change the number to, or the Jade Book of Transformations

Let's say that the number is 10, and you want to move 2 spaces in the direction you were moving. Since the address changed from 11 to 10, your direction is -1. Thus, for each space you want to move, lower this number by 1. So, you will change it to 09, right? No. This is where a knowledge of Hex Math comes in. In this case, you want to set it to 0E, a difference of -2, corresponding to the desired two moves. Now, go to the next address. Change it as described above. Save. Open your hacked game, and play away!

Chapter 6
FAQ, or the Jade Book of Questions

(Q) I did the hack, opened up the game and nothing happened. Why?
(A) If you double clicked the game file just after saving in HexEdit, you may have clicked the backup that HexEdit makes. Be sure to click the copy without the ~ on it.

(Q) The Screen went black, and nothing happened. I think I'm crashed.
(A) There are two possibilities: 1, that you did the hack incorrectly, or 2, you did fine and the program is just 'lazy' - click the mouse, press some keys, and wait. I had to wait for almost two minutes one time. If you can still hear the music, it's almost always #2. If you can see the cursor, you're crashed.

(Q) How do you transport horizontally?
(A) Just like transporting vertically, only you don't change the second character in the number, instead you change the first one. Say that you have a value of A0 for the address you are changing, and you want to move three spaces. A0 - 3 = 70 Simple as that.

(Q) The number is 01, and I want to move two spaces. What do I do?
(A) Change the address before it. I won't get into the gory details, but remember to make the other address larger. This is very important.

(Q) You have the technical writing skills of a RatLizard. I don't understand X, how can I find out what to do?
(A) E-mail me. (bryce@lanset.com)

(c)2001 Bryce Schroeder. Cythera is (c) Ambrosia Software, Inc.