Decompiler von Avast veröffentlicht

Antivirus-Hersteller Avast hat einen Decompiler als Open Source veröffentlicht. Ein Decompiler ermöglicht Programmdateien mit ausführbarem Maschinencode in lesbaren Quelltext zurück zu übersetzen. Der Quellcode kann dann analysiert werden.


Anzeige

Avast hat das seinen Maschinencode-Decompiler für die plattformunabhängige Analyse von ausführbaren Dateien nach siebenjähriger Entwicklungszeit zur Verfügung gestellt. Ziel des Avast Analyse-Tools RetDec ist es, die Cybersicherheits-Community  bei der Bekämpfung bösartiger Software zu unterstützen. Das Tool ermöglicht es jedem, den Code von Anwendungen zu studieren, um zu sehen, was die Anwendungen tun, ohne sie auszuführen.

Der RetDec-Decompiler ist Open Source, wie Avast hier schreibt, d.h. jeder kann ihn frei benutzen, den Quellcode studieren, modifizieren und weitergeben. Das Ziel von Avast ist es mit dem Open Source Tool RetDec, ein generisches Werkzeug zur Verfügung zu stellen, um plattformspezifischen Code, wie z.B. ausführbare x86/PE-Dateien, in eine höhere Darstellungsform, wie z.B. C-Quellcode, zu transformieren. Generisch bedeutet, dass das Tool nicht auf eine einzige Plattform beschränkt sein sollte, sondern eine Vielzahl von Plattformen unterstützen sollte, einschließlich verschiedener Architekturen, Dateiformate und Compiler. Bei Avast wird RetDec aktiv für die Analyse bösartiger Samples für verschiedene Plattformen wie x86/PE und ARM/ELF eingesetzt.

Der Quellcode des RetDec-Decompilers und anderer verwandter Tools ist nun auf GitHub unter der MIT-Lizenz verfügbar. Mit der Freigabe als Open-Sourcenmöchte Avast dessen Verbreitung fördern und andere Entwickler einladen, bei der Weiterentwicklung des Decompilers mit zu arbeiten. Das Tools bietet folgende Features:

  • Supported file formats: ELF, PE, Mach-O, COFF, AR (archive), Intel HEX, and raw machine code.
  • Supported architectures (32b only): Intel x86, ARM, MIPS, PIC32, and PowerPC.
  • Static analysis of executable files with detailed information.
  • Compiler and packer detection.
  • Loading and instruction decoding.
  • Signature-based removal of statically linked library code.
  • Extraction and utilization of debugging information (DWARF, PDB).
  • Reconstruction of instruction idioms.
  • Detection and reconstruction of C++ class hierarchies (RTTI, vtables).
  • Demangling of symbols from C++ binaries (GCC, MSVC, Borland).
  • Reconstruction of functions, types, and high-level constructs.
  • Integrated disassembler.
  • Output in two high-level languages: C and a Python-like language.
  • Generation of call graphs, control-flow graphs, and various statistics.
  • IDA plugin that allows decompilation of files directly from the IDA disassembler.

Eine gewisse Einschränkung ist die Fokussierung auf 32-Bit-Code. Zum Ausprobieren hat Avast einen Web Service aufgesetzt. Dort sollte man ausführbare Programmdateien hochladen können. Dann wird das zurück übersetzte Ergebnis im Browser angezeigt.

RetDec-Decompiler
(Quelle: Avast)

Wegen des hohen Aufkommens hat Avast die Webseite aktuell aber abgeschaltet. Man kann sich den Quellcode aber von GitHub herunterladen und für die Zielplattform compilieren. Weitere Details finden sich in diesem Avast-Blog-Beitrag sowie hier bei heise.de.


Anzeige

Dieser Beitrag wurde unter Allgemein abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Ein Kommentar zu Decompiler von Avast veröffentlicht

  1. ralf sagt:

    web service also immer noch down, aber auf andere weise als zuvor: am 19.12. erschien diese meldung auf HEISE. damals war der web service noch freigeschaltet, was aber auch nicht viel gebracht hat, da die seite vermutlich sofort dem ansturm der news-leser und/oder der menge ihrer testlaeufe nicht standhielt. auch ich hatte es an diesem tag mit einem kleinen selbstgeschriebenes win32-programm (exe: 12 KB, mingw-compilierter c-code) versucht. nach 2 stunden laufzeit ohne resultat hab ich das browserfenster geschlossen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.