0

オブジェクト コードはアセンブリ言語に逆アセンブルできます。オブジェクト コードまたは実行可能ファイルを LLVM IR に変換する方法はありますか?

4

1 に答える 1

2

つまり、機械語を LLVM IR に変換できます。IR はチューリング完全です。つまり、他のチューリング完全システムが計算できるものは何でも計算できます。最悪の場合、x86 エミュレーターの LLVM IR 表現を使用して、文字列として指定されたマシン コードを実行するだけです。

しかし、IRの結果が元のIRに似ているという意味で、IRに「戻す」変換について具体的に質問しました。答えは、いいえ、そうではありません。機械語コードは、さまざまな最適化パスの結果であり、その最適化前のコードがどのようなものであったかを判断する方法はありません。(arrowd はコメントで McSema に言及しており、最善を尽くしていますが、一般的に、結果は元のコードとは大きく異なります。)

于 2019-04-09T15:23:45.393 に答える