如何在运行于QEMU中的虚拟系统中写入处理器寄存器和特定内存地址?我的愿望是从运行在QEMU外部的用户空间程序中实现这一点。这将用于引发中断并精细控制处理器和虚拟硬件的执行。 QEMU监视器应该读取参数或进行简单的鼠标或键盘事件注入,但我没有看到关于写入的任何信息。
在QEMU监视器中的GDB服务器似乎是您目的最好的选择。其中一种选项是实现gdb 协议,另一种选项是通过其命令行驱动gdb本身。我已经进行了一些测试:附加、读取和写入内存似乎可以工作(我读取我写入的内容);跳转到另一个地址也似乎可以工作。(如果您可以call注入的代码,则理论上可以做任何事情。)写入文本模式视频内存无法工作(我甚至无法读取我写的内容,并且显示屏上没有任何变化)。
grub
引导程序,(2)memtest
,(3)一些用于freeDOS的实模式引导程序(只是为了确保它不会在实模式下崩溃)。 - Anton Kovalenko