No video

Разработка приложения-компаньона с Bluetooth для Flipper Zero

  Рет қаралды 17,438

Android Broadcast. Все об Андроид разработке

Android Broadcast. Все об Андроид разработке

Күн бұрын

Пікірлер: 47
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
🔗 Telegram канал "Android Broadcast" ttttt.me/android_broadcast 💰 Поддержать проект на Boosty boosty.to/androidbroadcast 🔗 Чат сообщества в Telegram ttttt.me/android_broadcast_talks 🔗 Telegram канал "Kotlin Broadcast" ttttt.me/kotlin_broadcast
@alexgireff2180
@alexgireff2180 Жыл бұрын
Отличный контент, спасибо, Кирилл! Наверное, немного не хватило более подробной информации о месте BLE в архитектурном плане. Но Никита упомянул про сервисы. Значит, есть направление, куда копать))) Видел Никиту в видео несколько раз в различные периоды его карьеры. Очень приятно смотреть, как человек растёт, развивается и продолжает исследовать. Так держать!
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Исходники открыты, лучше посмотрите их
@antaki93
@antaki93 Жыл бұрын
Вот это ностальгия для меня :) Когда-то начинал свой путь в андроид-разработке с подобного приложения-компаньона с BLE. Ох уж этот гигантский коллбэк, ох уж эти байтовые массивы, адвертайзинг и всё прочее...)
@ivanov83
@ivanov83 Жыл бұрын
О, крутая тема. Спасибо большое что затронули. Никита - красавчик, раньше часто виделись на офлайн митапах до ковида, не знал что он в флиппере сейчас работает. Очень много работал с интеграцией мобильных приложений, и через обычный bluetooth (RFCOMM socket и вот это всё) и через BLE (GATT сервисы и иже с ними). BLE - хороший годный протокол, но апи для работы с ним в андроиде - чистая боль и страдание. Жуткие колбэки к которым невозможно толком подвязаться, необходимость делать простые операции типа подписки на NOTIFY уведомления от gatt характеристики путём низкоуровневых операций, когда в ios это делается в одну строчку. У каждого вендора какие-то свои приколы, типа невозможности отправить или принять данные в первую 1-2 секунды, необходимость выжидать паузу между передачей фреймов. Никакой обратной связи и индикации ошибок, операция может просто не выполниться и никакое исключение не будет выброшено. Ограничение в 20 байт полезной нагрузки на передаваемый фрейм. Расширение размера пейлоада предусмотрено в протоколе но не работает на практике в большинстве устройств, и вообще не работает в ios, поэтому, для унификации используют фреймы по 20 байт. Заявленная пропускная способность BLE в 2 мбит/сек - чушь полная. Это расчёт для сферической идеальной ситуации в вакууме. В действительности фреймы передаются по радио в специальные окна, которые зависят от многих параметров и буферы с кадрами должны быть подготовлены заранее. На практике это просто не работает в мобилках (которые КМК используют и реализуют так мало возможностей блютус как можно было) и несколько килобайт в секунду, это то что вы реально получите. Загрузка обновления прошивки на устройство по 20 минут и прочие прелести прилагаются. ИМХО, главная причина по которой все пользуются этими жуткими костылями для постоянного соединения через BLE, это то что только через него можно сделать полноценное приложение компаньон. Android поддерживает и bluetooth и BLE. ios - только BLE, apple имеет готовое апи для работы с bluetooth classic, но не релизит его публично (впрочем можно им воспользоваться на джейлбрейкнутых устройствах), отсюда и весь этот цирк с конями. Хотя для подобных сценариев BLE подходит значительно хуже стандартного сокета. Безопасность блютус периферии - это вообще атас. Ничего более удивительного в жизни не видел. Да, есть стандартный пейринг, но во-первых, вся работа процесса пейринга скрыта как чёрный ящик, и возможности посмотреть реально передаваемые байты у нас нет, а атаки понижающие защиту с шифрования на ничего с помощью специального оборудования уже всплывали, а во-вторых, логика аутентификации мастер устройства и приём команд только от него НЕ (!) встроена в протокол пейринга, в результате к доброй половине устройств можно просто подклбчиться когда спаренный с ним телефон не в зоне радио и не держит с ним активного соединения, и передавать свои команды. К тому же, для передачи важных данных нельзя доверять защиту встроенному пейрингу, необходим отдельный слой шифрования и подписи данных на прикладном уровне, а такое я видел в жизни ровно один раз - это был платёжный терминал, ко всем остальным устройствам можно было подключиться любому мимокрокодилу и отправить им что угодно (например текст на экран с бегущей строкой, это не шутка, я такое лично видел), исправить это практически невозможно, а производителям периферии в большей части случаев просто пофиг. Только отсутсвие широкого интереса со стороны исследователей к этим проблемам удерживает скандалы которые могут разжечься по этому поводу В общем, блютус - это весело. Спасибо за отличный выпуск!)
@LionZXY
@LionZXY Жыл бұрын
Расширение MTU таки работает, на ios стабильно как часы, на андроид как пойдет, но в большинстве случаев тоже работает. 1мбит/с для BLE реальная скорость, у нас есть прототипы BLE устройства которое выдает такую скорость - на нашем устройстве этого нельзя сделать из-за ограничений со стороны STM. Снифать ble/bluetooth довольно легко, мы такое делали в микроволновке. Защита от MITM тоже встроена в протокол и стандарт, правда реализованная не на всех чипах эмбедеда - мы имеем у себя "trust zone" куда пускаем только запейренные устройства и не доверенную зону, которую могут считывать все. Хотя по остальному было почитать очень интересно, если вдруг меня увидите где-то, я бы пообщался)
@silentage6310
@silentage6310 4 ай бұрын
Благодарю, полезный комментарий. тоже сейчас делаю железку с мобильным управлением по БТ. пока придумал при спаривании передавать токен, и потом авторизовываться им после очередного подключения.
@albinapavlenko9924
@albinapavlenko9924 Жыл бұрын
А мы, когда перекидывали файлу по ИК-порту, телефоны просто на лавочку клали. Держать 2 часа два телефона в хитром положении довольно неудобно 🤪. Беседа просто отличная! Большое спасибо, очень информативно!
@VokaMut
@VokaMut Жыл бұрын
Спасибо за обзор, очень интересно =) 3:35 очень много "типа"
@ViktorYakunin
@ViktorYakunin Жыл бұрын
По поводу блютуза - работал с почти всем стэком, адвертайзинг, комуникации по бле и по обычному бт в основном через сериал. Как отметил гость, для того чтобы сделать контракт нужно наворачивать свой RPC + протобаф. Вообще это довольно не сложно, просто специфика. Адвертайзинг позволяет делать довольно интересные вещи, мы на нем соц сеть строили
@volodymyr.od.ua.
@volodymyr.od.ua. Жыл бұрын
Очень интересно, спасибо!!
@ihorkolodyuk6441
@ihorkolodyuk6441 7 ай бұрын
отличный девайс, спасибо вам 👍
@user-by1id2ix4h
@user-by1id2ix4h Жыл бұрын
Кирилл, спасибо за интервью Контент 🔥
@borisveriga5252
@borisveriga5252 Жыл бұрын
Спасибо за интервью парни!
@burivuh26
@burivuh26 Жыл бұрын
С 47:59 я порвался. Отличное интервью
@kychkin_nikolay
@kychkin_nikolay Жыл бұрын
Кстати как универсальный регулировщик для умного дома удобно. А то не хочется ставить "левые" приложения, а тут опенсорс одно приложение и все работает.
@handleftman
@handleftman Жыл бұрын
В новостях пишут, что PayPal заблокировал их счёт с деньгами .... и это те люди, которые оплачивали Flipper (
@MrPwnzrus
@MrPwnzrus Жыл бұрын
Это же парень, который у АйТи бороды был , приятно видеть его и тут
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
О да, только сейчас вспомнил. Выпуск про Kotlin, но говорили про Android. В тот момент от компетентности интервьювера меня бомбануло
@LionZXY
@LionZXY Жыл бұрын
@@AndroidBroadcast а что не так говорил))) Вроде сейчас смотрю и не сказал бы что не так. А сам айтиборода специально притворялся что ничего не знает, чтобы я разжевывал очевидные вещи и ребятам не из айти было интересно слушать
@mex5341
@mex5341 Жыл бұрын
Почему на Андроиде всё ещё нет аналога airDrop?
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Nearby Share
@dpoleev
@dpoleev 24 күн бұрын
У всех есть NFC - тоже эмулятор всего
@ra9ftm
@ra9ftm Жыл бұрын
Никита, что можете сказать про библиотеку blessed-android и blessed-android-coroutines?
@LionZXY
@LionZXY Жыл бұрын
Выглядит хорошо, я бы попробовал. Удивительно что пропустил когда ресерчил ещё год назад
@gigaprose
@gigaprose Жыл бұрын
Извините, что вклиниваюсь, но эта blessed-android чем-то концептуально лучше, чем rxBLE?
@ra9ftm
@ra9ftm Жыл бұрын
Пока думаю выбрать от Nordic или blessed
@dmitryskripka7445
@dmitryskripka7445 6 ай бұрын
Так и не удалось купить этот девайс. Сайт отправляет в Joom, а там только чехол для этого устройства, защитные плёнки, и еще что-то, но самого устройства нет...
@AndroidBroadcast
@AndroidBroadcast 6 ай бұрын
Посмотри на Авито
@dmitryskripka7445
@dmitryskripka7445 6 ай бұрын
@@AndroidBroadcast В Беларуси нет Авито, я даже телефон продавца не могу посмотреть, не имея SIM карты, с номером, начинающимся на +7.... Даже, если попрошу кого, то квест с конвертацией денег в RUR, сделает это, и без того не особо дешевое устройство, стоящим как чугунный мост.
@quverr
@quverr Жыл бұрын
Так а как купить то его ? :) на сайте "We're busy updating the Flipper Shop for you and will be back soon."
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Надо. ждать. обещают скоро открыть продажи
@LionZXY
@LionZXY Жыл бұрын
На сайте амперки можно оформить предзаказ
@dakarkaret3144
@dakarkaret3144 Жыл бұрын
Что там у флиппера с пейпалом кстати? Зарплаты платят или уже стоки дают? А с сертификацией в Украине?
@LionZXY
@LionZXY Жыл бұрын
Это деньги на будущие партии, не говоря уж о том что это далеко не все деньги. Просто неприятно, но для бизнеса не фатально. Флипперы в Украину уже поедут 12 сентября, вы вроде должны были email получить об этом
@AJl698
@AJl698 Ай бұрын
У меня смарм спокойно вместо пульта работает. Смарт флагманский если что
@ViktorYakunin
@ViktorYakunin Жыл бұрын
по ходу я параноик, ибо сливать ключи доступа на какую-то штуку, которая потом может их слить с привязкой по жпс... можем получить еще один "кто звонит" или базу паролей вифи вашего города, только последствия куда плачевнее
@LionZXY
@LionZXY Жыл бұрын
Все опенсорс же
@ViktorYakunin
@ViktorYakunin Жыл бұрын
@@LionZXY есть вариант проверить прошивку и приложение? Есть вариант залить свою прошивку? Передает ли девайс инфу по ключам на телефон?
@LionZXY
@LionZXY Жыл бұрын
@@ViktorYakunin Конечно, есть вариант - и прошивка и приложение reproducable, собирается из исходников одной командой на любом компьютере
@ViktorYakunin
@ViktorYakunin Жыл бұрын
@@LionZXY окей, как вытащить прошивку с устройства, чтобы проверить чексум с той версией, которую собрал из исходников?
@LionZXY
@LionZXY Жыл бұрын
@@ViktorYakunin как-то можно через dfu
@xbotdroid2211
@xbotdroid2211 Жыл бұрын
Настоящая боль! когда iOS разработчик сделал работу с BLE по подключению к другому девайсу на изи с первого раза и это заняло в три раза меньше времени без доп фиксов🤣 А ты днями штудируешь доку, юзаешь рефлексию, чтобы дотянутся до закрытых методов, накидываешь кучу кастылей, занимаешься работой с потоками и все равно ничего🤷‍♂️
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
В такие моменты вежливых слов не подбирается
@LionZXY
@LionZXY Жыл бұрын
Я: комментарии к ютубу не могут заставить меня плакать Комментарии к ютубу:
@Strimer767
@Strimer767 5 ай бұрын
Почему он не на русском
@livewithoutregrets4056
@livewithoutregrets4056 3 ай бұрын
Обычный органайзер сигналов
КТО ЛЮБИТ ГРИБЫ?? #shorts
00:24
Паша Осадчий
Рет қаралды 1,3 МЛН
Harley Quinn's revenge plan!!!#Harley Quinn #joker
00:59
Harley Quinn with the Joker
Рет қаралды 25 МЛН
Тест Haval на угоностойкость
10:26
Угона.нет - защита от угона
Рет қаралды 1,3 МЛН
Обзор Flipper Zero - хакерский мультитул
20:35
Flipper Zero Wifi Hacking has Never Been Easier!  Updated for 2024!
25:09
Talking Sasquach
Рет қаралды 220 М.
Немультиплатформенные привычки Android-разработки
38:43
Android Broadcast. Все об Андроид разработке
Рет қаралды 7 М.
Flipper Zero Hack DoorHan
1:04
PRO:PENTEST
Рет қаралды 532
How to make an IR Sniper for the Flipper Zero.
29:23
Ray J
Рет қаралды 21 М.
Flipper Zero: Beginner Guide
8:57
Securiosity
Рет қаралды 308 М.