2008-11-08 2 views
2

У меня есть немного необычный вопрос. Я запускаю старую игру DOS в dosbox под окнами xp, и я пытаюсь определить, когда и где он обращается к файлу данных.мониторинг доступа к файлам старой игры dos

Что я могу использовать, это даст мне журнал всех запросов на чтение, сделанных в файл? Я хочу знать «когда», «от» и «размер» каждого прочитанного файла.

Я знаю свою основную сборку 8086/8088, но не более того. поэтому, если инструмент быстрого доступа недоступен, рекомендация отладочного инструмента/учебника, которая может помочь мне попасть на правильный путь, также может быть отличной.

игры «под корнями», если кто-то может пролить некоторый свет о внутреннем устройстве этой игры, это будет большая помощь :)

ответ

6

Вы можете попробовать использовать FileMon for Windows и посмотреть, что DOSBox получает доступ через файл окно система.

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 (искать)