Denormalization

A disassembler is a computer program which translates Machine language (an achievable file) into Assembly language (also indicated under the name of language “low level”). This operation, the Dismantling, is the reverse of that carried out by a Programme assembler, the assembly.

It should be noted that one can disassemble the computer code generated by a Compilateur of language high-level (C/C++, Delphi, etc), but one will not obtain the source code of the source language, just the correspondence out of assembler of the computer code. If one wants to carry out this operation, it would be necessary to use a Décompilateur, a type of program which is not yet really at the point to date.

The exit of a disassembler is more often intended to read the code in a simpler way, more human than to read continuations of bits of the computer code (even into hexadecimal), rather than to be used as entry with a program assembler. Indeed, the symbols (name of the variables, labels, names of the procedures) are not restored nor even the comments of the author (useful to include/understand, if the author had written some).

Free and/or free disassemblers

  • Libraries libopcodes and libbfd which makes party of parcelling GNU binutils. They are used by the programs objdump and gdb.

  • Bastard
  • The Netwide to assemble - Assembler 80x86 under LGPL delivered with a disassembler: ndisasm
  • PVDasm (aka Proview).
  • BIEW
  • Ollydbg

Commercial disassemblers

  • W32DASM, disassembler for Windows

  • MULTI developed by Green Hill Software (GHS)
  • IDA: Interactive The Disassembler

Related article

Random links:Alfred Dreyfus | Bastones Venatici | Archontophoenix | Cryptothelea | Jean Derome | Park of Maizières-the-Metz