Science Fair Project Encyclopedia
A disassembler is a computer program which translates machine language to assembly language. It therefore performs the inverse operation to an assembler. However, the output of a disassembler is often designed for human-readability rather than suitability for input to an assembler (called disassembly). By comparison, a decompiler translates machine language into a high level language.
Generally, assembly language source code features the use of symbolic constants , and programmer "comments" - annotations which are ignored by the assembler but explain to another programmer what the program does and how it does it. These symbolic constants and comments are usually, but not always, removed from programs by the assembler. The loss of this information makes interpreting the dissassembled output more difficult than the original annotated source code.
Disassemblers are a standard tool in reverse engineering computer software.
Many disassemblers have been written. Some notable examples include:
- RosASM- 32 bit Assembler (The Bottom Up Assembler which is free and GPLed). Although this tool is basically a assembler, it also contains a very powerful disassembler that is able to rebuild a huge variety of small applications. Support for disassembly of larger applications is under development.
- Interactive Disassembler
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details