Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перехват обращений к порту

288
26 августа 2008 года
nikitozz
1.2K / / 09.03.2007
Доброе утро, уважаемые посетители. Столкнулся с проблемой, вот теперь размышляю над ее решением. Может кто поможет советом?
А вот собственно и проблема. Есть DLL, предназначенная для работы с устройством (устройство подключено через USB) и экспортирующая для этого набор функций (вроде открыть устройство, закрыть, передать на устройство данные и пр.). При вызове этих функций DLL для их исполнения обращается к определенному сервису в системе, который уже собственно и осуществляет ввод/вывод с устройством.
Так вот, или этот сервис написан криво, либо что-то еще, но факт в том, что когда я вызваю функцию из DLL для передачи определенных данных на устройство, сервис при непосредственной передаче добавляет к данным еще и служебные байты. Но в одном из служебных байтов перепутаны тетрады (вместо 0xAB передает 0xBA) ну и устройство из-за этого "ругается" на неизвестную команду.
Собственно вот и проблема, как исправить этот байт? Исходников ни DLL ни тем более сервиса у меня нет.
Думал вместо вызова функции из DLL для передачи данных напрямую писать в порт (благо протокол я уже узнал), но боюсь проблем с синхронизацией, которые обязательно возникнут, так как после открытия устройства сервис беспрерывно обменивается с ним данными.
Можно было бы поднапрячься и перехватывать пакеты, идущие к USB порту, но как-то не хочется из-за одного байта писать кучу кода.
Может кто поможет советом, какие еще могут быть способы заменить этот байт на правильный? Всем заранее спасибо.
14
26 августа 2008 года
Phodopus
3.3K / / 19.06.2008
Видимо варианта 2. Или вытащить новую версию сервиса, где байты не перепутаны, либо "подправить" существующий в hex-редакторе (что чревато и не всегда напрямую возможно)..
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог