C ++デコンパイラはありますか? [閉まっている]
-
03-07-2019 - |
質問
C ++のソースコードを失ったプログラムがあります。優れたC ++デコンパイラはありますか?
すでに Boomerang に出会った。
解決
バイナリを削除しなかった場合、IDA ProがCに似たコードを生成できるため、ある程度の希望があります。少なくとも数年前に使用したときは、通常は非常に荒いです。
他のヒント
情報はコンパイルプロセスで破棄されます。デコンパイラがクラスとすべての論理的に同等のコードを生成できたとしても(おそらくできない)、自己文書化の部分は最適化されたリリースコードではなくなりました。変数名、ルーチン名、クラス名はありません。アドレスのみです。
はい。ただし、どれも努力するだけの価値のある読みやすいコードを生成することはできません。古いアプリをゼロから書き直すよりも、内部にアセンブラーブロックがある逆コンパイルされたソースを読み取るのに時間がかかります。
C ++コードを生成する逆コンパイラは見たことがありません。 Cコードの生成を合理的に試みるいくつかの実験的なものを見てきましたが、それらは特定のコンパイラのコード生成パターンの一致に依存する傾向がありました(変更された可能性があります。 )。もちろん、象徴的な情報はすべてなくなります。 「デコンパイラ」用のGoogle。
元のコードの大きさと書き方によっては、お気に入りの言語(まだC ++である可能性があります)でやり直し、前回のバージョンでの間違いから学ぶ価値があります。誰かがこれを書いて捨てようと言ったことはありませんでしたか?
n.b。明らかにこれが巨大な製品である場合、それは時間の価値がないかもしれません。