我正在逆向工程 CPS 软件包如何与无线电设备通信。我已经掌握了基础知识,并希望欺骗软件认为 COM1 是无线电,而实际上我想捕获控制流引脚状态变化(CTR 和 RST)。
我在 Qemu 和/或 Virtual Box 中运行 Windows XP,Linux 作为基本操作系统。Linux 有没有办法模拟软件定义的串行端口来捕获所有引脚状态变化?
我曾尝试使用socat
,特别是类似这样的东西socat -d -d pty,raw,echo=0,b9600 pty,raw,echo=0,b9600
,但尝试更改结果上的控制流引脚/dev/pts/X
会导致ioctl
错误。此外,simplecat /dev/pts/X
仅显示通过设备发送的内容,而不是控制流更改。
我该怎么做?而且,我如何将生成的设备传递给 Windows VM 以使其认为它正在与之通信COM1
?
谢谢!