Der C / C ++ - Dekompiler übersetzt Programme, es wird kein Quellcode benötigt

Mit einem neuen Dekompiler für C / C ++ können Entwickler Einblicke in die Funktionsweise eines Programms erhalten, ohne auf den Quellcode zu achten. Das ist der Plan für Snowman, den der Hauptentwickler des Projekts mit einem LLVM zur Dekompilierung vergleichen möchte.

Snowman dekompiliert mit geringfügiger Unterstützung für C ++ von Maschinencode zu C, und der Quellcode sollte innerhalb einiger Monate veröffentlicht werden, sagte der Chefentwickler Yegor Derevenets, ein Universitätsstudent in Deutschland, in einer E-Mail-Antwort auf Fragen.

Die Technologie ist "sehr modular", sagte Derevenets. „Es basiert auf einer Dekompilierungsbibliothek, die problemlos in andere Systeme integriert werden kann. Als Beispiel stellen wir drei Anwendungen zur Verfügung, die es verwenden: einen Befehlszeilen-Dekompiler, einen GUI-Dekompiler und ein IDA-Disassembler-Plug-In. Hoffentlich wird Snowman nach der Veröffentlichung des Quellcodes schließlich zum LLVM für die Dekompilierung.

"Der Zweck eines Dekompilierers besteht darin, Programme in einer Darstellung auf niedriger Ebene wie Maschinencode oder Bytecode in Programme in einer höheren Programmiersprache wie C, C ++ oder Java und C # zu übersetzen", sagte Derevenets. "Eine solche Übersetzung kann für Leute nützlich sein, die versuchen zu verstehen, wie ein Low-Level-Programm funktioniert, ohne Zugriff auf seinen Quellcode zu haben: Sicherheitsingenieure, virale Analysten, Betreuer alter Systeme, deren Code verloren geht."

Die aktuelle Version 0.0.5 von Snowman bietet C / C ++ - Code-Bearbeitung, Refactoring, Code-Navigation und Verbesserungen der GUI-Leistung. Seit Juni wurden sechs Punktversionen veröffentlicht, darunter eine Veröffentlichung Mitte Oktober mit einem Plug-In für den IDA-Disassembler.