无法使用 Bochs 模拟器加载软盘映像

逆向工程 仿真
2021-06-20 21:58:27

我有一个软盘映像,我正在尝试使用 Bochs Emulator 加载它。

它来自 CTF 挑战,可以从这里下载:http : //squarectf.com/2017/floppy.img

我在 Windows 7 x64 上使用 Bochs 2.3.9 版

我启动了 Bochs.exe 并配置了内存和磁盘设置,如下所示:

内存选项:

在此处输入图片说明

磁盘和引导选项:

在此处输入图片说明

但是,当我启动模拟器时,它会出现以下错误:

在此处输入图片说明

我在网上看到过一篇关于这个 CTF 的文章,它描述了加载磁盘映像的相同方法并且它起作用了。

请让我知道为什么它对我不起作用。

注意:我已经能够在 Linux 上使用 qemu-system-x86_64 或 qemu-system-i386 加载磁盘映像。但是,我想了解为什么我不能用 Bochs 加载它。

我什至尝试了创建 bochsrc 文件并使用 bochsdbg.exe 加载它的方法,如下所示:

bochsdbg.exe -f bochsrc -q

但是,我在加载它时仍然出错。

更新:通过在引导选项下选择软盘作为引导设备,我能够在 Bochs 模拟器中加载映像。

但是,我无法使用 bochsdbg.exe 加载图像。下面是我的 bochsrc.txt 文件:

romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
megs: 16
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="floppy.img", mode=flat, cylinders=2, heads=16, spt=63
boot: floppy

我收到以下错误消息:

Bochs is exiting with the following message:
[      ] bochsrc.txt:5: ataX-master/slave: unknown type 'floppy'

我想要一个合适的 bochsrc 文件的原因是因为我想使用 IDA Pro 来调试引导扇区。

1个回答

我与类似的错误斗争了一段时间,并认为我将磁盘映像命名为“disk.img”。当我将它重命名为其他东西时,它起作用了。在您的示例中,您将其命名为 floppy.img,因此您可以尝试其他方法。

这有点猜测,但似乎 bochs 不喜欢带有保留字的文件,如磁盘或软盘。