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