3

nasmは、-f binオプションでマシンコードのみを生成できます。masmでも同じことをしたかったのですが、方法がわかりません。

生成されたオブジェクトコードは常にCOFF形式であるように見え、それをオフにするようなオプションではないようです。

何かアドバイス?

4

3 に答える 3

1

MASMリンカを使用する必要があります/TINYが、実行可能ヘッダーの作成をスキップするオプションを使用することで可能です。フラットバイナリファイルであるCOM実行可能ファイルの作成に関するMS情報を参照してください。

http://support.microsoft.com/kb/24954

他の人がすでに言っているように、制限の少ないツールがあります。FASMが私の好みです-デフォルトでフラットバイナリを生成します。:)

于 2013-03-31T07:49:52.940 に答える
0

できません。しかし、単にバイナリのブロックをファイルに書き込むことが目標である場合は、アセンブラを悪用して支援することが簡単にできます。

2つの部分でアセンブラプログラムを作成します

  • バイナリブロックとして作成する部分。開始ラベルBLOCKと終了ラベルBLOCKENDを付けます。

  • 実行可能ファイルがロードされたときに制御を取得し、OS(Windowsなど)でブロックを呼び出してファイルに書き込む部分。完了すると、単に終了します。これを行うための実際の呼び出しは、実際に書くのはそれほど難しくありません。このセクションには、50〜100行のコードが含まれている可能性があります。

于 2013-03-31T08:35:40.180 に答える
0

masmコードをexeに変換し、16進エディターを使用してマシンコードを表示できます。

于 2013-04-01T19:55:59.170 に答える