But if it's coded in c/++, why would you use a disassembler?
It doesn’t matter what the language was in which it is coded; that code gets “compiled†into nothing but a list of instructions that the computer can read and understand in
its own language.
C++ code means nothing to a computer. C++ is for humans to read and understand.
You need a disassembler because that code, during the compilation process, gets thrown away and translated into machine code that the computer can quickly and easily understand.
Once this happens, nothing is left. You don’t get variable names; you get addresses.
Values no longer have types; they can be accessed as either single bytes, two bytes, or four bytes, and can be accessed in signed or unsigned ways, and they can be accessed by the floating-pointer registers to be used as floats rather than ints, (I am purposely excluding tbytes and qwords for reasons that should be obvious).
If you want an example of how things get lost in translation, go to
http://babelfish.altavista.com/ and translate something from English to Japanese, then back to English.
English is C++.
The computer only reads Japanese.
We use a translator (the compiler) to translate from our language to the computer’s.
If you want to come back from the computer to our language, you can expect a lot of information to be missing. Since computers work entirely with numbers, the information missing from C++ to machine code is MUCH greater than the information missing from Japanese to English.
The disassembler is the tool that translates back from Japanese to English, by the way.
I hope that makes everything clear.
L. Spiro
[EDIT]In regards to the post you made while I was making this post, any peeps inside the game were made using the disassembler I mentioned above.
The point is, if you plan on looking inside anything, you best get fluent in Engrish.[/EDIT]