Désassembleur

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

Langages à objets
C++ - C# - D

Delphi - Eiffel - Groovy

Java - Lisaac - Python - Ruby

Simula - Smalltalk

Visual Basic - WLangage
Langages impératifs
APL - ASP - Assembleur

BASIC - C - Cobol - Natural

Forth - Fortran - Limbo

Logo - Pascal - Perl - PHP
Langages fonctionnels
Haskell - ML/OCaml

Lisp/Common Lisp

Scheme - XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Voir aussi
Conception - Codage

Tests - Optimisations

Un désassembleur est un programme informatique qui traduit du langage machine (un fichier exécutable) en langage assembleur (aussi désigné sous le nom de langage « bas niveau »). Cette opération, le désassemblage, est l'inverse de celle effectuée par un programme assembleur, l'assemblage.

À noter qu'on peut désassembler le code machine généré par un compilateur de langage haut-niveau (C/C++, Delphi, etc.), mais on n'obtiendra pas le code source du langage d'origine, juste la correspondance en assembleur du code machine. Si on veut réaliser cette opération, il faudrait utiliser un décompilateur, un type de programme qui n'est pas encore vraiment au point à ce jour.

La sortie d'un désassembleur est plus souvent destinée à lire le code de manière plus simple, plus humaine que de lire des suites de bits du code machine (même en hexadécimal), plutôt que de servir d'entrée à un programme assembleur. En effet, les symboles (nom des variables, étiquettes, noms des procédures) ne sont pas restitués ni même les commentaires de l'auteur (utiles pour comprendre, si l'auteur en avait écrit).

Désassembleurs gratuits et/ou libres

  • Bibliothèques libopcodes et libbfd qui font parti du paquetage GNU binutils. Elles sont utilisées par les programmes objdump et gdb.
  • Bastard
  • The Netwide assembler - Assembleur 80x86 sous LGPL livré avec un désassembleur : ndisasm
  • PVDasm (aka Proview).
  • BIEW
  • ollydbg

Désassembleurs commerciaux

  • W32DASM, désassembleur pour Windows
  • MULTI développé par Green Hill Software (GHS)
  • IDA : The Interactive Disassembler