Interactive Disassembler

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Oktober 2016 um 01:39 Uhr durch 92.195.151.121 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Interactive Disassembler
Basisdaten

Entwickler Hex-Rays
Aktuelle Version 6.9[1]
(Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.)
Betriebssystem Microsoft Windows, Linux, Mac OS X
Programmiersprache C++[2]
Kategorie Disassembler
Lizenz Proprietär
deutschsprachig nein
www.hex-rays.com/products/ida/index.shtml

Der Interactive Disassembler (IDA; deutsch „Interaktiver Disassembler“) ist ein Disassembler, der es ermöglicht, Binärcode in Assemblersprache umzuwandeln. Er unterstützt Prozessoren verschiedener Hersteller und Prozessorfamilien. Bei der automatischen Analyse des Binärcodes zieht IDA den benutzten Compiler mit in Betracht. Daraus resultiert eine besonders hohe Erkennungsrate von Bibliotheksfunktionen und deren Namen, die später das Verständnis des erzeugten Codes wesentlich vereinfachen.

Die Möglichkeit, interaktiv in die Analyse des Binärcodes einzugreifen, gibt dem erfahrenen Benutzer die Möglichkeit, sein Wissen über das Programm oder dessen Struktur mit in die Dekodierung einfließen zu lassen. Letztlich ist ein Programm nicht zu 100 % in der Lage, einen Binärcode korrekt zu dekodieren und profitiert von der Interaktion des Anwenders.

So können fälschlicherweise als Code interpretierte Daten in die richtige Darstellung umgewandelt werden, und auch komplexe Datenstrukturen und Datentypen können in IDA angegeben werden. Bei der Umwandlung von Daten in Code wird automatisch eine funktionenbezogene Analyse des Codes durchgeführt und dieser entsprechend strukturiert und mit Sprungmarken bzw. Namen versehen.

In neueren Versionen besitzt IDA die Möglichkeit, auf Intel-Prozessoren den Binärcode unter seiner Kontrolle auszuführen und mit einem Debugger Haltepunkte zu setzen. Damit ergeben sich neue Möglichkeiten, den Programmfluss des analysierten Binärcodes zu verstehen.

Scripting

Erweiterungen, so genannte IDC-Skripte, ermöglichen die Erweiterung des Funktionsumfangs. Es werden bereits einige hilfreiche Skripte mitgeliefert, die als Vorlage für eigene Erweiterung dienen können. Am häufigsten werden Skripte zur weiteren Modifikation des erzeugten Codes benutzt. So können externe Symboltabellen geladen und damit die Funktionsnamen des ursprünglichen Quellcodes wiederhergestellt werden.

Es gibt einige Webseiten, die sich speziell mit dem Scripting von IDA beschäftigen und Hilfen zu häufig auftretenden Problemen anbieten.

Einsatzgebiete

IDA eignet sich sowohl zur Analyse eigener Programme - um z. B. die Effektivität eines benutzten Compilers zu überprüfen - als auch zur Analyse fremder Programme. Für Cracker ist dies die Grundlage für das nähere Verständnis eines zu verändernden Computerprogramms und das Beseitigen von Kopierschutz-Mechanismen.

Unterstützte Systeme

Siehe auch

Literatur

  • Chris Eagle: The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler. No Starch Press, USA 2008, ISBN 1-59327-178-6, S. 640.

Weblinks

Einzelnachweise

  1. What's New
  2. Hex-Rays