逆コンパイラについて
.o 形式のオブジェクトファイルをどうにかして高水準言語に変換することは可能なのでしょうか?
(言語はc言語です。)
また、可能であるのであれば変換方法についても教えていただけると幸いです。
当方、ほとんど知識がありませんので詳しい方々、ご教授いただけると幸いです。
0
.o 形式のオブジェクトファイルをどうにかして高水準言語に変換することは可能なのでしょうか?
(言語はc言語です。)
また、可能であるのであれば変換方法についても教えていただけると幸いです。
当方、ほとんど知識がありませんので詳しい方々、ご教授いただけると幸いです。
「decompiler」を探してみてください。
この辺りは既にあたられたでしょうか?
⇒ Snowman
⇒ Is there a C++ decompiler?
何を調べられたのか解らないので、既に調べられたことをあげてしまうかも知れませんが、ご容赦ください。
これとかわかりやすいかもしれません
@red-0803
Questioner
C言語(C++?)の逆コンパイラの精度としては、Snowmanくらいの水準が限度でしょう。
例えば、Javaや.NETの逆コンパイラは、元のソースと同じ「クラス名、メソッド名、変数名等も復元できる」かと思います。
残念ながら、C言語はコンパイルした時点でこれらの情報はすべて失われています。
失われた情報は復元できないので、逆コンパイラは、適当な名前(アドレス等)で復元するしかありません。