我们希望在普通计算机上的Windows操作系统中编写并运行一个程序,来实时监控这台计算机的寄存器值以及运行的指令信息。
1.我们原先是在QEMU虚拟机下收集相关的寄存器信息,以及正在执行的所有指令操作,希望通过分析指令和寄存器信息,使我们最终能够得到一个模型来分辨某些指令是否是恶意操作。我们通过改写QEMU进行翻译的那段代码,将中间的结果都保存下来。
2.但是虚拟机收集数据太慢了,我们希望在主机操作系统上实现类似的功能,收集寄存器数据,以及执行的指令信息。现在我们遇到的问题是,我们写出来的代码,获取到的PC寄存器值,指向的就是我们的程序的下一条代码,而正在并行运行的其它程序的指令似乎并获取不到,请问对于这个问题,各位有什么想法或者建议吗?