а если так:
истинный СОМ4 (на машине) меняем на какой-нить другой СОМ, используем нуль-СОМ эмулятор, например
такой, где выставляем один порт СОМ4, другой порт - другой СОМ на котором уже будет висеть своя программа и получать от испытуемой необходимые данные, править их и отправлять в железо, от железа также править и отправлять обратно в испытуемую программу, вернее в порт на котором она висит, а нуль-СОМ эмулятор уже будет подавать в испытуемую программу...