На вашем месте я бы просто отредактировал двоичный файл и заменил /dev/ttyS%d
или подобную строку на /dev/ptyX%d
(, позаботившись о том, чтобы замена имела ту же длину, что и исходная ), а затем создала символическую ссылку /dev/ptyX0
к пути ведомого конца псевдо-терминала -.
Есть много других решений, более или менее неудобных:
a ), если ваша система Linux, временноmount --bind /dev/pts/<pty used by the sniffer> /dev/ttyS2
(и подключите вашу программу к последовательной линии2
)
b )аналогично отодвиньте /dev/ttyS2
в сторону и замените на ссылку на pty
c )запустить его внутри qemu и перенаправить последовательный порт виртуальной машины на pty
d )некоторые решения с поддельными путями/файловой системой с использованиемLD_PRELOAD
e )пространства имен, unionfs, chroot и т. д.