red-0803
@red-0803

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

逆コンパイラについて

.o 形式のオブジェクトファイルをどうにかして高水準言語に変換することは可能なのでしょうか?
(言語はc言語です。)
また、可能であるのであれば変換方法についても教えていただけると幸いです。

当方、ほとんど知識がありませんので詳しい方々、ご教授いただけると幸いです。

0

3Answer

「decompiler」を探してみてください。
この辺りは既にあたられたでしょうか?
Snowman
Is there a C++ decompiler?

何を調べられたのか解らないので、既に調べられたことをあげてしまうかも知れませんが、ご容赦ください。

1Like

Comments

  1. @red-0803

    Questioner

    回答ありがとうございます!
    実はかなり調べた後の最後の手段としてここで質問させていただいてます…
    そのサイトもすでに見ました…
    ターミナル内でオブジェクトファイル内の機械語をアセンブラ言語には変換できたのですが高水準言語まで持っていくのができなくて困っております…
  2. 失礼いたしました。
    高水準言語 というのを見落としていました。

C言語(C++?)の逆コンパイラの精度としては、Snowmanくらいの水準が限度でしょう。
例えば、Javaや.NETの逆コンパイラは、元のソースと同じ「クラス名、メソッド名、変数名等も復元できる」かと思います。
残念ながら、C言語はコンパイルした時点でこれらの情報はすべて失われています。
失われた情報は復元できないので、逆コンパイラは、適当な名前(アドレス等)で復元するしかありません。

0Like

Your answer might help someone💌