eXeL@B —› Основной форум —› Исследование Qt программм |
Посл.ответ | Сообщение |
|
Создано: 28 ноября 2014 18:36 · Поправил: Wyfinger · Личное сообщение · #1 Добрый день друзья! Есть простая программа-клиент к умному браслету (На сайте производителя сейчас этой программы не найти). Браслет вообще говоря должен общаться со смартфоном по BLE 4, но может также работать по USB для чего при подключении ставится драйвер виртуального COM порта (драйвер кстати от идентичного браслета Vidonn). Т.е. при работе по USB фактически общение ПК и браслета происходит по COM. Я успешно разобрал протокол работы браслета Vidonn (его программа для ПК написана на .Net, там все просто), но не могу разобраться с Iwown. Приложение написано на Qt. Вижу библиотеку QtSerialPort, смотрел примеры работы с ней в интернете, но IDA и Olly показывают какие-то адовые функции, экспортируемые этой библиотекой. Мне нужно найти только функции send/write и read, которые пишут в / читают из в COM порта. Уже пробовал на все экспортируемые этой библиотекой функции ставить бряки, бестолку. Подскажите пожалуйста в каком направлении копать. Возможно есть какие-то специальные инструменты для анализа программ на Qt или сигнатуры для IDA (я пытался создать их сам в FLAIR, но опыта у меня в этом ноль..). Как например найти обработчик клика по кнопке? COM порт мониторил, в целом логика работы понятна, но там кое-где используется что-то типа CRC, поэтому нужно подсмотреть в код, просто статическим анализом протокола не обойдешься. Заранее спасибо за помощь. |
|
Создано: 28 ноября 2014 19:20 · Личное сообщение · #2 Сам с QT дел тесных не имел, но вот что с ходу нагуглилось, может что-то из этого ещё не видели: ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 28 ноября 2014 19:21 · Личное сообщение · #3 |
|
Создано: 28 ноября 2014 20:02 · Личное сообщение · #4 Wyfinger пишет: Уже пробовал на все экспортируемые этой библиотекой функции ставить бряки, бестолку. Этой, это какой простите? Code:
Добавлено спустя -45 минут Так, туплю. QtSerialPort это QIODevice, но в данном случае они используют его лишь для того, чтобы убедиться, что нужный COM порт открывается с нужными правами. Само чтение происходит внутри pm1.dll - экспортируемая uart_open, например, открывает порт и настраивает его. Code:
Вот чтение данных из COM-порта. P.S. На будущее. Для работы с COM-портами Qt, как и любая другая библиотека не использует магии. Должен вызываться обычный ReadFile, можно было от него плясать и вы бы сразу все нашли. Добавлено спустя -33 минут Wyfinger пишет: Как например найти обработчик клика по кнопке? Для начала, самый важный инструмент, как всегда - голова. Чтобы понимать как найти обработчик клика по кнопке, неплохо взглянуть на API самого Qt. Вот вам для домашней работы: Code:
Что такое сигналы и слоты? Почему в начале строки стоит '2'? Как устроена QObject::connect изнутри? Готовый ответ: 0x470E94 - поставьте сюда точку останова. |
|
Создано: 29 ноября 2014 05:57 · Личное сообщение · #5 |
eXeL@B —› Основной форум —› Исследование Qt программм |