I’d like to take the opportunity to explain some things to those of you who actually go outdoors on a somewhat regular basis. A lot of the posts that you will see on this site may confuse you, and I would like to prevent that. I’d like to do a couple things: first I’ll write out a glossary of terms you will encounter frequently, and second (when I’m more awake) I will write a description of a basic reverse engineering process. The second part will be in another post. The first part will happen RIGHT NOW.
I’ll start off with a couple broad terms:
Hacking – making things do stuff that they weren’t originally intended to do (I’d really like to hear others’ opinions on this).
Reverse Engineering – in the context I use it, reverse engineering (or RE) is the process of taking apart and analyzing software. Sometimes this means prodding around to see how things work, sometimes it’s just a step toward a bigger goal.
And now some more technical stuff:
Assembly [Language] – Assembly language is often considered the lowest-level human-readable programming language. It’s still not very human-readable. It’s mostly hard-to-understand instructions telling the computer hardware/OS exactly what to do.
Hex Editor – A program used to alter the contents of binary files such as compiled programs.
Method – In Objective-C (the predominate language of Mac OS X), a method is (in basic terms) a specific, named task that a program performs. otool dumps method names next to the low-level code when possible, making it easy to find relevant pieces of code.
Offset – A hexadecimal number that refers to a specific location in a binary file. Almost (but not quite) like a line number for geeks.
Opcode – A little hard to explain. Assembly language can be written out in opcodes, which is what the instructions in compiled programs are made of.
otool – A utility built in to Mac OS X that displays the low-level (hard to understand) code contained in a program in a pretty format.
These are some basic terms. I’d appreciate any feedback/questions on what I’ve written or what I should have written. This list might grow and I might make it into its own page. Until later (probably tomorrow), look forward to BUT WHAT DOES IT ALL MEAN? (pt. 2).

