Disassembler

A disassembler is a computer program that converts the binary coded machine language of an executable program in a more readable for human assembly language. So he is a special compiler ( translator ), whose functionality is opposite to the one assembler.

Operation

Each processor command exists an equivalent assembler instruction, a mnemonic. The individual arguments of the processor instructions such as register numbers and memory addresses can be transferred one- to-one into assembler code. Thus, a disassembler translates the binary representations of the processor instructions readable by humans.

For a program that was written in assembler, the original code generally can not be recovered. Pseudo-instructions, labels and comments have no or at least not directly, that is uniquely reversible counterpart in machine code, which makes the reconstruction of the same very difficult or impossible. For a program that was written in a high level language, the compiler usually has made ​​several optimizations, which accelerate the program execution, but makes the machine code more complex.

A pure Disassemblat so is so often much more difficult to read than the original ( assembler ) code.

Benefit

The purpose of a disassembler is usually to facilitate the diagnosis and the detection of potential errors in a program or to check the output of a compiler. Occasionally it is also used for reverse engineering.

Legal Aspects

Proprietary software is often under a EULA, which prohibits the disassembly and decompilation. However, this is legally binding in Germany only in rare cases. Even reverse engineering for the production of compatibility with the software of third parties expressly permits granted by law - and therefore not to be prevented by a license agreement.

The activity of the Disassemblierens is however regulated in copyrighted programs in some countries by law, since the disassembly opens up the possibility to change the code and then assemble again in a program. Thus, for example by experienced assembly language programmers and crackers a password prompt from being a disconnected because of license restrictions enabled, or a virus unnoticed introduced into the program. Detailed discussion of this aspect of disassemblers and comparable tools can be found in Article reverse engineering.

Others

Almost all debugger, some programs for inspecting binary files as well as some assembly includes a disassembler. A well-known and frequently used disassembler is IDA of Ilfak Guilfanov, the structured assembler code can display.

The process of Disassemblierens is synonymous disassemble in the German literature of the terms or referred to decompile.

Swell

291124
de