Share on Facebook Share on Twitter Email
Answers.com

Disassembler

 
Sci-Tech Dictionary: disassembler
(′dis·ə′sem·blər)

(computer science) A program that translates machine language into assembly language.


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics

Software that converts machine language back into assembly language. Since there is no way to easily determine the human thinking behind the logic of the instructions, the resulting assembly language routines and variables are named and numbered generically (A001, A002, etc.). Disassembled code can be very difficult to maintain. See decompiler.

Download Computer Desktop Encyclopedia to your iPhone/iTouch

Wikipedia: Disassembler
Top

A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. A disassembler differs from a decompiler, which targets a high-level language rather than an assembly language. Disassembly, the output of a disassembler, is often formatted for human-readability rather than suitability for input to an assembler, making it principally a reverse-engineering tool.

Assembly language source code generally permits the use of constants and programmer comments. These are usually removed from the assembled machine code by the assembler. If so, a disassembler operating on the machine code would produce disassembly lacking these constants and comments; the disassembled output becomes more difficult for a human to interpret than the original annotated source code. Some disassemblers make use of the symbolic debugging information present in object files such as ELF. The Interactive Disassembler allow the human user to make up mnemonic symbols for values or regions of code in an interactive session: human insight applied to the disassembly process often parallels human creativity in the code writing process.

Disassembly is not an exact science: On CISC platforms with variable-width instructions, or in the presence of self-modifying code, it is possible for a single program to have two or more reasonable disassemblies. Determining which instructions would actually be encountered during a run of the program reduces to the proven-unsolvable halting problem.

Contents

Examples of disassemblers

  • Any interactive debugger will include some way of viewing the disassembly of the program being debugged. Often, the same disassembly tool will be packaged as a standalone disassembler distributed along with the debugger. For example, objdump, part of GNU Binutils, is related to the interactive debugger gdb.
  • PVDasm is a Free, Interactive, Multi-CPU disassembler.
  • OllyDbg is a 32-bit assembler level analysing debugger
  • IDA
  • ILDASM is a tool contained in the .NET Framework SDK. It can be used to disassemble PE files containing Common Intermediate Language code.
  • SIMON, a test/debugger/animator with integrated dis-assembler for Assembler, COBOL and PL/1
  • unPIC is a disassembler for PIC microcontrollers

See also

References

  • L. Vinciguerra, L. Wills, N. Kejriwal, P. Martino, and R. Vinciguerra, "An Experimentation Framework for Evaluating Disassembly and Decompilation Tools for C++ and Java", Proc. of 10th Working Conference on Reverse Engineering (WCRE) 2003.
  • B. Schwarz, S. Debray, and G. Andrews, "Disassembly of Executable Code Revisited", Proc. of 9th Working Conference on Reverse Engineering (WCRE), pp. 45–54, 2002.

External links


Translations: Disassembler
Top

Dansk (Danish)
n. - disassembler, omvendt oversætter

Français (French)
n. - (Comput) désassembleur

Deutsch (German)
n. - (EDV) Disassemblierer

Ελληνική (Greek)
n. - (Η/Υ) αποσυμβολομεταφραστής

Italiano (Italian)
disassemblatore

Português (Portuguese)
n. - desmontador (m)

Русский (Russian)
тот, кто разбирает на составные части

Español (Spanish)
n. - desarmador

Svenska (Swedish)
n. - demontage

中文(简体)(Chinese (Simplified))
反汇编程序

中文(繁體)(Chinese (Traditional))
n. - 反匯編程式

한국어 (Korean)
n. - 역 어셈블러 (기계 코드를 조합어로 변환하는 소프트웨어)

日本語 (Japanese)
n. - 逆アセンブラ

עברית (Hebrew)
n. - ‮תוכנה המתרגמת פקודות מכונה במחשב לפקודות בשפת-סף (אסמבלר), מתרגם לאסמבלר‬


 
 
Learn More
X.3 (technology)
decompiler (technology)
reverse engineer (technology)

How do you disassemble the colt 32? Read answer...
How do you disassemble jennings firearms? Read answer...
How do you disassemble jennings model 48? Read answer...

Help us answer these
How do you disassembly a systemunit?
How do you disassemble the 22?
Macromolecules are disassembled in?

Post a question - any question - to the WikiAnswers community:

 

Copyrights:

Sci-Tech Dictionary. McGraw-Hill Dictionary of Scientific and Technical Terms. Copyright © 2003, 1994, 1989, 1984, 1978, 1976, 1974 by McGraw-Hill Companies, Inc. All rights reserved.  Read more
Computer Desktop Encyclopedia. THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.
© 1981-2009 Computer Language Company Inc.  All rights reserved.  Read more
Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Disassembler" Read more
Translations. Copyright © 2007, WizCom Technologies Ltd. All rights reserved.  Read more