监视旧dos游戏的文件访问

时间:2008-11-08 16:25:38

标签: debugging dos

我有一个不寻常的问题。我正在windows xp下的dosbox中运行一个旧的DOS游戏,我正在尝试确定它访问它的数据文件的时间和地点。

我能用什么来记录所有对文件的读取请求?我想知道每个文件的“when”,“from”和“size”。

我知道我的基本8086/8088组装但仅此而已。因此,如果没有可用的快捷工具,建议可以帮助我走上正确轨道的调试工具/教程也很棒。

游戏的“根源”,如果有人能够对这款游戏的内部结构有所了解,那将是一个很大的帮助:)

2 个答案:

答案 0 :(得分:6)

您可以尝试使用FileMon for Windows并查看dosbox通过Windows文件系统访问的内容。

答案 1 :(得分:2)

你可以修补DOSBOX源代码:)只需让它在读取时写一些调试消息。如果将调试级别设置得足够高,则无论如何都可能发生!

大多数DOS程序都使用DOS中断。但有些人使用BIOS中断或更糟。

无论如何,如果它有帮助,这里是我知道的文件读取DOS中断:

面向FCB的功能:

  • INT 21h,AH = 14h(顺序读取)
  • INT 21h,AH = 21h(随机读取)
  • INT 21h,AH = 27h(随机区块读取,àlafread()

面向处理的功能:

  • INT 21h,AH = 3Fh(顺序读取)
  • INT 21h,AH = 42h(寻求)