回答:
あなたは使用することができますプロIDAによって六角線を。通常、デバッグ情報をコンパイルしない限り、バイナリから適切なC ++を取得できません。コードを逆にする多くの手作業を費やす準備をします。
バイナリを削除しなかった場合、IDA ProでCに似たコードを生成して作業できるため、いくつかの希望があります。しかし、少なくとも私が数年前にそれを使用したときは、通常は非常にラフです。
情報はコンパイルプロセスで破棄されます。デコンパイラーがクラスとすべてを備えた論理的に同等のコードを生成できたとしても(おそらく不可能です)、自己文書化の部分は最適化されたリリースコードではなくなっています。変数名、ルーチン名、クラス名はなく、アドレスのみです。
はい、しかしどれも、努力に見合うだけの十分に読みやすいコードを生成することはできません。古いアプリを一から書き直すよりも、アセンブラーブロックが含まれている逆コンパイルされたソースを読み取るのに多くの時間を費やします。
元のコードがどれほど大きく、どれだけ適切に記述されているかに応じて、お気に入りの言語(まだC ++である可能性があります)からもう一度やり直して、前のバージョンでの間違いから学ぶ価値があるかもしれません。誰かが一度、捨てるためにそれを書くことについて言ったことはありませんか?
nb明らかにこれが巨大な製品である場合、それは時間の価値がないかもしれません。
objdump
Linuxの場合