Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2015, 06:31   #1
Oleg_Ponomaryov
 
Регистрация: 04.03.2014
Сообщений: 6
По умолчанию Сниффер COM-порта или программное создание виртуального COM-порта

Доброго времени суток!

Суть проблемы, в общем, проистекает из того, что необходимо перехватывать общение одной программы с неким устройством через COM-порт. Причём делать это нужно из уже существующей программы на Qt C++ (допустимы вставки платформозависимого ориентированного на Windows кода) без использования сторонних программ.

Рассматривал вариант перехвата вызовов функций Win32 API для записи и чтения с COM-порта, но версия Detours для 64-бит стоит немереных денег, так что этот вариант отпал.

Остаётся вариант либо снифферить (извиняюсь, если использовал неправильный термин) сам COM-порт, либо создавать виртуальный COM-порт между программой и реальным COM-портом, общение которых нужно перехватывать. Но оба этих варианта требуют, как я понимаю, переписывания драйвера COM-порта, что тоже не слишком радует в силу затратности по времени и усилиям.

В связи с этим, вопрос: нет ли какого-то готового решения (имеющей такой функционал библиотеки, например) для этого, которое можно впихнуть в уже существующую программу? Честно пытался гуглить, но как-то ничего внятного не нашёл. Заранее спасибо за ответы!
Oleg_Ponomaryov вне форума Ответить с цитированием
Старый 11.06.2015, 07:11   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
но версия Detours для 64-бит стоит немереных денег, так что этот вариант отпал.
Сделайте сплайсинг сами.

Цитата:
Но оба этих варианта требуют, как я понимаю, переписывания драйвера COM-порта, что тоже не слишком радует в силу затратности по времени и усилиям.
Все зависит от в каком режиме открывается порт, а то можно попробовать просто повесится и слушать. Ну или сделайте прогу редирект между физ портом и виртуальным для программы.
p51x вне форума Ответить с цитированием
Старый 11.06.2015, 08:51   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

http://com0com.sourceforge.net/
https://technet.microsoft.com/en-us/...rnals/bb896645

Разучился гуглить народ...
waleri вне форума Ответить с цитированием
Старый 12.06.2015, 08:19   #4
Oleg_Ponomaryov
 
Регистрация: 04.03.2014
Сообщений: 6
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Всё это находил, в этой теме хотелось узнать о возможности самостоятельного создания виртуального или прослушивания реального COM-порта.
Oleg_Ponomaryov вне форума Ответить с цитированием
Старый 12.06.2015, 09:28   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Я не понимаю: суть проблемы - перехватить, или суть проблемы - научится перехватывать?
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите программу для виртуального порта Владимир34 Помощь студентам 7 05.11.2014 13:10
Создание виртуального com-порта Port 111 Общие вопросы Delphi 3 05.11.2014 12:46
сниффер com порта dmitriegorovih Общие вопросы Delphi 13 09.05.2013 20:53
Как получить данные с COM-порта или другого любого порта? DeLure Общие вопросы C/C++ 5 20.09.2007 00:50
Сниффер порта keng00r00 Работа с сетью в Delphi 1 22.04.2007 08:53