Wer kennt das nicht; man steht mitten im Nirgendwo und benötigt plötzlich einen Decompiler. Da passt es nur allzu gut, dass Avast vor einigen Tagen einen Decompiler veröffentlicht hat. Der Retargetable Decompiler war, laut Aussage von Avast knapp sieben Jahre in der Entwicklung, bevor er nun das Licht der Öffentlichkeit erblickte. Mit Hilfe dieses Decompilers können Kompilate unterschiedlicher Architekturen (Intel x86, ARM, MIPS, PIC32 und PowerPC) decompiliert werden. Leider werden im Moment nur 32-Bit Binaries unterstützt. Auch die Liste der unterstützen Dateiformate für die zu decompilierende Datei reicht von ELF, PE, Mach-O, COFF, AR, Intel HEX bis zu reinem Maschinencode.
Als Plattformen für die Ausführung des Decompilers, werden offiziell Windows und Linux unterstützt. Unter macOS funktioniert die Ausführung ebenfalls, allerdings wird hier keine Garantie für die Funktionsfähigkeit gegeben. Daneben existiert eine Online-Version, mit welcher der Decompiler ausprobiert werden kann. Hierbei gilt eine Beschränkung von 10 MiB je Binary. Der Retargetable Decompiler unterstützt die statische Analyse der zu dekompilierenden Dateien, erkennt automatisch den verwendeten Compiler und Packer und ist in der Lange die Ausgabe in C und einer an Python angelehnten Syntax auszugeben. Der Quelltext des Decompilers ist auf GitHub zu finden. Das Projekt ist unter der MIT-Lizenz lizenziert und damit freie Software. Der Download und weitere Informationen zum Retargetable Decompiler findet man auf der offiziellen Seite des Decompilers.
Avast traue ich so weit wie ich es werfen kann (und ich bin sehr schlecht im Werfen).
Unter Windows empfehle ich x64dbg, das seit Monaten einen vernünftigen Decompiler an Bord hat, unter anderen Systemen dürfte radare2 die beste Wahl sein.
Mich hat auch interessiert, was dieses Ding so kann. Nach ein paar Versuchen musste ich allerdings feststellen, dass der Speicherverbrauch dieses Decompilers schon bei durchschnittlich 4 MB großen Binaries so exorbitant ist, dass 16 GB allein nicht mehr ausreichen. So auf „normalen“ Rechnern leider unbrauchbar.
Ja auf die Tatsache das der Decompiler ordentlich Speicher frisst, sind sie auf der Webseite dazu eingegangen. Interessant wäre es zu wissen wofür er den ganzen Speicher nutzt.