Я вижу две возможности.Можно было бы подключить монитор к ком-порту и просто посмотреть, что там получится.Это вообще исключает RE кода и, как правило, будет немного быстрее и проще.
[Правка: есть две формы этого: один аппаратный - логический анализатор (или что-то в этом порядке)) подключен к оборудованию COM-порта.Он декодирует и отображает поток последовательных данных, когда он проходит по проводам.Другой формой будет программное обеспечение, которое использует IAT, чтобы подключиться к вызову WriteFile
и показать, какие файлы были открыты и какие данные записаны в каждый.Для этого может быть полезна библиотека Microsoft Detours .]
Если вы все-таки решите перечитать код, вам, вероятно, потребуется приличный дизассемблер, такой как IDAPro.Вы , вероятно, сможете найти части, которые имеют дело с COM-портами, начиная с мест, которые вызывают CreateFile
и WriteFile
(при условии, что вы имеете дело с Win32, основываясь на упоминании "PE ").Возможно, у вас будет что-то вроде «\\. \ COM» (или, по крайней мере, «COM») в виде буквальной строки, и вы захотите найти вызов CreateFile
, который использует эту строку (или копиюэто).
Оттуда вам придется работать задом наперед, чтобы найти код, который собирает строки, которые фактически записываются в COM-порт.Трудно догадаться, насколько это будет сложно.