Frage

Ich habe ein Programm, in dem ich die C ++ Quellcode verloren haben. Gibt es gute C ++ Decompiler gibt?

Ich habe lief bereits über Boomerang .

War es hilfreich?

Lösung

Sie können mit IDA Pro von Hex-Rays . Sie werden in der Regel nicht gut C ++ erhalten aus einem binären, wenn Sie in Debug-Informationen kompilieren. Bereiten Sie ein Los Handarbeit ausgeben, um den Code umzukehren.

Wenn Sie nicht die Binärdateien Streifen hat es eine gewisse Hoffnung, wie IDA Pro C-alike-Code erzeugen kann für Sie zu arbeiten. Normalerweise ist es sehr rau aber, zumindest wenn ich es verwendet, um ein paar Jahre.

Andere Tipps

Informationen werden im Kompiliervorgangs verworfen. Selbst wenn ein Decompiler das logische Äquivalent Code mit Klassen und allem produzieren kann (es wahrscheinlich nicht kann), der selbstdokumentiere Teil wird in optimierten Freigabecode gegangen. Keine Variablennamen, keine Routine Namen, keine Klassennamen -. Nur Adressen

Ja, aber keiner von ihnen gelingen wird, die Anstrengung lesbar genug Code im Wert zu produzieren. Sie werden mehr Zeit damit verbringen, die dekompiliert Quelle mit Assembler Blöcke innen zu lesen, als Ihre alte App von Grund auf neu zu schreiben.

Ich habe keinen decompilers gesehen, dass C ++ Code zu generieren. Ich habe ein paar experimentell diejenigen gesehen, die einen angemessenen Versuch zu generieren C-Code zu machen, aber sie neigten auf Anpassung die Codegenerierung Muster eines bestimmten Compiler abhängig zu sein (das kann dich geändert hat, es ist schon eine Weile her, dass ich in diesen sah ). Natürlich wird jede symbolische Information verschwunden sein. Google für "Decompiler".

Je nachdem, wie groß und wie gut geschrieben war der ursprüngliche Code, es wieder wert sein könnte in Ihrer bevorzugten Sprache beginnen (die noch C ++ sein könnte) und von Fehlern in der letzten Version gemacht zu lernen. Haben Sie nicht einmal jemand sagen, über ein Schreiben wegzuwerfen?

N. B. Klar, wenn dies eine große Produkt ist, dann kann es nicht die Zeit wert sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top