This is my first(and probably last) hex editng guide! This assumes you use Windows XP,but I've done it with older verions.
Basically,you will need 4 things!
1.Something to hex edit(usually a game).
2.The FC command(provided with DOS/Windows).
3.A hex editor.Many work,but I use this! http://www.handshake.de/user/chmaas/delphi/download/xvi32.zip
4.Knowledge of hexidecimal or a converter.
Lesson 1
So basically,you take a computer game that has save files.This example uses Castle of the Winds. http://liberatedgames.org/3dd/castl11a.zip
After you extract all that stuff in a folder,run "CASTLE1.EXE" Now start a new game with any otions you want(including the spell of your choice).After you learn your spell,save the game now! Save it as "1.cwg".Now cast your spell,but don't move your character or do anything else yet.Now save the game as "2.cwg".It is now time 2 use the FC command! FC is a DOS command that compares files! You can find info about it in Windows help,but here is how I use it.
fc/b file1 file2>OutputFile
The above command is basically how you use it.The "/b" switch tells it to compare files in binary.If you don't get it yet,you soon will.FC is a DOS command.So in order to run it you must run in DOS.Search your hard drive for "command.com" or "cmd.exe".They are usually in this folder.
After you find it,copy it to the same folder that has both your save files are in.Now run the program.
You are in DOS now.It's really old,but really cool.Anyway,now type this!
fc/b 1.cwg 2.cwg>1.txt
You might get this error message "'fc' is not recognized as an internal or external command,operable program or batch file".
If this happens,you need to copy "fc.exe" to the folder also.It is also found in the system32 folder.After that,try the command again.
If you followed my directions correctly,you will now have a file named "1.txt" in the same folder.This happens because whenever you use the ">" followed by a filename,it sends the results to the file instead of the screen.You can do it to the screen,but it's not as easy that way.
So open the new file with notepad or something.You may notice this line!
00000098: 05 04
This means that at hex address 98,the value was 05 in the first file and 04 in the second file.You may get different results though.
Remember that you saved the game as "1.cwg",used up 1 mana point when you used your spell,and saved as "2.cwg".
So this happened because my mana was 5 but then I used the spell and it dropped down to 4!
You can get different results depending on your mana points.However,we now know that the hex address 98 is where the mana points are stored!
So what do you do about it? Open the hex editor "XVI32".After you open "1.cwg",you can find the address 98.You can also just go to the address by using Ctrl+G,selecting hexidecimal,and typing 98.
When you are at the address,you can now enter anything you want! You must enter it in hex though! So the highest you can set the byte is FF.
FF in hex is 255 in decimal. So just do that. right now,but make sure you are in overwrite mode! Check it under tools in XVI32!
So after you change it.Save the file(Ctrl+S).Now load the file in Castle of the Winds! You now have 255 mana!
That is pretty cool,but what if you want a number higher than 255? Go to the next byte! Address 99 is the next address! In this case it controls it also!
It's the 256 place.So if you want 300 mana,
Set address 98 to 2C
Set address 99 to 01
That works because 2C is the hex code of 44.You just entered 01 at address 99.Since anything put in address 99 is multiplied by 256,it equals 256!
256+44=300
So now if you load your save file,you have 300 mana!
This is a simple example,however,this method works on 99% of all games!
You can do the same thing using a different hex editor.It's "possible" without the FC command.However,doing so will take twice as long!
The other way to compare 2 files is by opening them both up in a hex editor and switching between the 2 windows by using Alt+Tab.It takes a lot longer,but is sometimes the only way of finding what you're looking for!
I have hex edited games,MIDIs,bitmaps,EXEs,and even ROMs.There are many more tricks,but I'd have to have you here with me to teach you more!
I learned this stuff by experimenting around with the old debug program while following someones guide to a game.I seriously recommend XVI32 though.
If you want to discover more things,you should learn hexidecimal.You'll need a LOT of patience and a love for numbers!
So remember the basic system!
1.Decide what to hex edit.
2.Find the hex address of what you are trying to change.
3.Edit it with a hex editor.
4.Load it and have fun!
Lesson 2
I just found a hex editor that edits memory! http://www.heijnen1.demon.nl/CheatEngine52.exe
I used it 2 change the current score in Solitaire! It's a bit complicated,but it does work!
A48C8 is the memory address of the score in Solitaire! First run Solitaire,then run CheatEngine.Now you must load the process of "Sol.exe".
Just click the button at the top left of the window.It's not that hard.Then click the memory view button! In the bottom part of the memory viiewer,right click and choose Goto Address.Enter A48C8.Now you are at the place! It's 4 bytes long! So just enter what you want!
When you're done,just go to Solitaire and see the score! It's really cool! This method is useful on games that don't have any save files! It's so much better than using the method in lesson 1,but CheatEngine doesn't even read old games like Castle of the Winds! By the way,you're probably wondering how I found that address.CheatEngine has search features! Here is a ZIP of the Cheat Tables I made!
http://www.geocities.com/chandlerklebs/CheatTables.zip