2

少し変わった質問があります。Windows XP の dosbox で古い DOS ゲームを実行しています。データ ファイルにアクセスするタイミングと場所を特定しようとしています。

ファイルに対して行われたすべての読み取り要求のログを取得するには、何を使用できますか? 各ファイルの「いつ」、「から」、「サイズ」を知りたいです。

基本的な 8086/8088 アセンブリは知っていますが、それ以上はわかりません。したがって、利用可能なショートカット ツールがない場合は、適切な軌道に乗るのに役立つデバッグ ツール/チュートリアルの推奨も役立ちます。

ゲームは「根底にある」ので、誰かがこのゲームの内部について光を当てることができれば、それは大きな助けになるでしょう:)

4

2 に答える 2

6

FileMon for Windowsを試してみて、Windows ファイル システム経由でアクセスしている dosbox を確認してください。

于 2008-11-08T16:34:03.540 に答える
2

DOSBOX のソース コードにパッチを当てることができます :) 読み取りが発生したときにデバッグ メッセージを書き込むだけです。デバッグ レベルを十分に高く設定すると、とにかく発生する可能性があります。

ほとんどの DOS プログラムは DOS 割り込みを使用します。ただし、BIOS 割り込みを使用するものや、さらに悪いものもあります。

とにかく、それが役立つ場合に備えて、私が知っているファイル読み取りDOS割り込みは次のとおりです。

FCB 指向の機能:

  • INT 21h、AH=14h (シーケンシャルリード)
  • INT 21h、AH=21h (ランダム読み取り)
  • INT 21h、AH=27h (ランダムブロック読み取り、アラfread())

ハンドル指向の関数:

  • INT 21h, AH=3Fh (シーケンシャルリード)
  • INT 21h、AH=42h (シーク)
于 2008-11-10T06:23:32.023 に答える