Друзья, появилась такая проблема: браслет-трекер fitbit с поврежденным софтово дисплеем. Его необходимо соединить по бт с приложением на андроиде и запустить обновление прошивки. Но при соединении на экране появляется код, который и нужно ввести в приложение, а поскольку экран не рабочий, кода я не вижу. Есть ли способ перехватить запрос и расшифровать это число? Дело усложняется тем, что подключение исходит не от андроида, а от приложения.
Я думаю, стоит попробовать проанализировать приложение как статически (разобраться, где находится генерация кода), так и динамически (в рантайме с помощью Frida). У Фриды большие возможности: при желании можно написать скрипт автоматизации, который вытащит пин-код из памяти приложения.
Дело в том, то пин код каждый раз разный, скорее всего он генерируется по запросу приложения на соединение в браслете и в зашифрованном виде передается в приложение, где его и надо ввести. Или наоборот. Не думаю, что есть шанс взломать коды за разумное время. Просто не так давно писали, что в протоколе бт4 и бт5 найдена неустранимая дыра, но подробной инфы нет.
https://play.google.com/store/apps/details?id=com.fitbit.FitbitMobile&hl=ru Есть и для ios браслет fitbit charge 3
Хочу уточнить: получается, смартфон не знает код или просто нужно подтвердить, что коды совпадают? Если у вас второй случай, даже если приложение не отображает код, то его всё же можно вытащить.
Я точно не знаю где генерится код, по идее - в браслете, скорее всего используется стандартная процедура связи. Я больше расчитывал на уязвимость типа https://habr.com/ru/news/t/518662/ - их в бт целый вагон, но точной инфы нет.
Как безумный, но в теории рабочий вариант - попытаться найти в плеймаркете автокликер, который будет вместо вас запускать соединение и вводить один и тот же код. За несколько дней максимум, я думаю, код совпадет и браслет подключится.
А ведь и правда, может сработать! Спешки никакой нет. Один код занимает секунд 10, 10тысяч наборов - 100тыс секунд. Это 27 часов. Попробую. Добавлено: а есть какой кликер на примете? (Под андроид)
И так подбор шел около 4 суток, по 20 секунд на пробу. Потом угадал. Я даже посмотрел комбинаторику и выяснил, что вероятность не угадать за N попыток - (8999/9000) в степени N. Потом попробовал второй браслет (у меня было 2 дефектных). Второй подобрался за несколько часов, вот такая «теория и практика»