2012-02-03 6 views
1

MicrosoftのMacro AssemblerとDumpBinは素晴らしいツールですが、DumpBinの結果をMASMに供給することはできません。正しいアセンブリに必要な情報(例外処理命令など)がなく、構文も問題があるようです。「往復」のx86/64ディスアセンブラ/アセンブラコンボはありますか?

正確元の実行可能ファイルにバック変更なしを組み立てることができる逆アセンブルコードを生成することができる任意のx86/64分解はありますか?

+0

質問を拡大する必要があると思います。バイナリ(コード、データ、リソースなど)のすべてを単純にアセンブラに変換し、同じバイナリに再アセンブリすることができる逆アセンブラが多数あります。結局のところ、一連のビットです。あなたが実際に求めているのは、アセンブラが使用できるような形で有用な出力(コード+データセクションなど)を生成するために、より高いレベルでバイナリを "解釈"できる逆アセンブラです。 – adelphus

+0

@adelphus:そうですね、ダンプビンのようなものを探していますが、アセンブラに入力できる形式で出力します。 'dumpbin'はすべての必要な情報を出力しますが、形式がとても奇妙です。 – Mehrdad

答えて

2

DOSで.COMのような非常にシンプルでフラットな実行ファイルについて話していない限り、私はそれを疑っています。最近の実行可能ファイルには、生コードとそのデータ以外にも多くの要素が含まれており、すべてのコンポーネントを完全に抽出して戻し合うことは、非常に簡単で普遍的にサポートされるものではありません。

次に、多くの命令をいくつかの異なる方法でコード化できることを忘れないでください(例:mov ax, 0)。エンコーディングのあいまいさに対処するには、mov ax, 0の代わりにdb 0b8h, 0, 0またはdb 0c7h, 0c0h, 0, 0を明示的に組み立てる必要があります。 dbのあなたは損失なしで組み立てることができます。

+0

まあ、 'dumpbin'は私が望むすべてのものをダンプすることを意味します。それは、どのアセンブラでも使えるフォーマットではありません。しかし、それは非常にうまく逆アセンブルされているようで、何も省略していないようです...そうするのは非常に不可能ではありません。 – Mehrdad

+0

不可能ではありませんが、これはまれにしか必要とされないことです。私は、箱からそれを行うことができるツールがないと確信しています。 –

関連する問題