Assumptions
What do you already know?

First of all, I will assume you know how to modify Cave Story without assembly. This means being able to edit TSC, use a map editor, set flags, make NPCs talk, etc. Got no idea what TSC is? I suggest that you read through Noxid's Modding Beginner's Guide. He tells you exactly what TSC is and how to edit it.

Sprite editing will be quite useful.

You don't need to know how to replace the game icon or add custom music. It's good if you do, but it's not required for assembly exe hacking.

It's helpful if you have some sort of programming experience beforehand, but you are not required to have such experience (because this guide is for beginners). As for scripting experience, all you really need to understand is TSC.

Programs and Software that will help you:
  1. A Windows Operating System. Either 64-bit or 32-bit is fine.
  2. A copy of Cave Story.
  3. A Cave Story editor, such as Sue's Workshop or CaveEditor. Assembly hacks are compatible with these editors, provided that you don't do something extremely moronic.
  4. OllyDbg, affectionately known as "Olly Debug", which is the program you will use to edit assembly instructions.
  5. A profile.dat editor that allows you to change a save file without hex editing.
First off, Windows is kinda important, because this guide only covers how to hack the Windows version of Cave Story. If you're using a Mac port of CS and want to hack the program directly, you may want to look here.

Next, having Cave Story is really important, for obvious reasons.

Editors are very handy. They will allow you to easily test your assembly hacks. Also, part of the reason you're studying assembly is probably because you want to make a mod with assembly hacks, right?

OllyDbg is your main assembly editing program.

A save editor is very useful for quickly adding weapons/items to your character, but not necessary. For example, giving yourself the Nemesis with CE or SW will achieve the same thing as hacking the Nemesis into your save file.

32-bit Windows and 64-bit Windows
If you're using a 32-bit version of Windows, you're good to go. You can run pretty much any version of OllyDbg, including the older versions.

If you're using a 64-bit version of Windows, then you're also fine. The only difference is that you cannot run old versions of OllyDbg. Just download the newest version OllyDbg 2.01 Alpha 3. If something newer than 2.01 Alpha 3 comes along, you can probably run that too.

(I am running Windows 7 on a 64-bit computer. I assure that you 64-bit folks are at no real disadvantage.)

If you have absolutely no idea if you're running 64-bit or 32-bit, go here:
http://support.microsoft.com/kb/827218

Download Links Keep in mind that having Save Editor is optional. If you're having trouble running it, just skip it for now.

By the way, the type of assembly we're going to learn is the x86 Assembly Language, in case you were wondering.

Navigation
Previous Lesson: Introduction
Next Lesson: Defining A Program
Table of Contents