我有一个不寻常的问题。我在 windows xp 下的 dosbox 中运行一个旧的 DOS 游戏,我试图确定它何时何地访问它的数据文件。
我可以使用什么来记录对文件的所有读取请求?我想知道读取的每个文件的“时间”、“来自”和“大小”。
我知道我的基本 8086/8088 程序集,但仅此而已。所以如果没有可用的快捷工具,推荐一个可以帮助我走上正轨的调试工具/教程也很棒。
游戏的“根源”,如果有人能对这个游戏的内部原理有所了解,那将是一个很大的帮助:)
您可以尝试使用FileMon for Windows并查看通过 Windows 文件系统访问的 dosbox。
您可以修补 DOSBOX 源代码 :) 只需让它在读取发生时写入一些调试消息。如果您将调试级别设置得足够高,无论如何都可能发生!
大多数 DOS 程序使用 DOS 中断。然而,有些使用 BIOS 中断或更糟。
无论如何,如果它有帮助,这里是我知道的文件读取 DOS 中断:
面向FCB的功能:
fread()
)面向句柄的功能: