Разборка Xiaomi AI Audio и краткий системный анализ
Разборка Xiaomi AI Audio (не мини версия) и краткий системный анализ
резюме
В связи с потребностями компании я купил динамик Xiaomi AI по цене 299 юаней, на Taobao он может быть дешевле.
Пришла неделя, и одежда была подобрана. Раковина была полностью белой, соответствуя цвету умного дома Xiaomi.
Во-первых, часть разборки аудио Xiaomi AI
Действия по разборке:
1.Откройте резиновую прокладку от нижней части динамика Xiaomi AI и откройте 4 отверстия для винтов. Винты — винты с крестообразным шлицем. Этот шаг легко разобрать;
2. Извлечь коробку из динамика Xiaomi AI;
3. После открытия корпуса есть также четыре винта с крестообразным шлицем, удерживающие материнскую плату;
4. После отсоединения проводов питания, панели и динамика от материнской платы припаяйте три контакта к соответствующим проводам TTL;
5. После пайки снова прикрепите материнскую плату к AI-разъему и подключите соответствующий шнур питания, кабель панели и шнур динамика;
Ремонт колонки Xiaomi Mi Bluetooth Speaker MDZ-26-D
6. Откройте программное обеспечение последовательного порта на соответствующем компьютере (рекомендуется PUTTY, скорость передачи последовательного порта 115200, 8N 1), подключите коробку к адаптеру питания и дайте ему нормально работать после включения питания.
Анализ части звуковой системы Xiaomi AI
1. Отсканируйте QR-код на упаковке Xiaomi, загрузите приложение Xiaoai Audio и установите его на свой телефон;
2. В первый раз вам необходимо настроить сеть и передать соответствующую информацию (SSID, пароль, метод шифрования и т. Д.) В Xiaoai Audio через Bluetooth, чтобы разрешить ему доступ к сети.
3. В настоящее время для анализа Xiaoai Audio необходимо соответствующее программное обеспечение.
Шаги личного анализа и идеи для этого устройства:
1. Сканирование сетевого порта Xiaoai Audio;
2. Используйте nmap для захвата сетевых пакетов;
3. Проанализируйте logcat журнал приложения Xiaoai Audio;
4. Обратный Xiaoai Audio App;
5. Используйте последовательный порт на материнской плате Xiaoai Audio, чтобы напечатать информацию TTL, если возможно, войдите в систему Xiaoai Audio;
6. Найдите обновленную информацию о OTA Xiaoai Audio, перехватите соответствующую обновленную прошивку и используйте инструмент реверса, чтобы распаковать соответствующую прошивку и проанализировать содержимое файла в прошивке;
7. Интегрируйте вышеуказанную информацию, соберите всю информацию вместе, проанализируйте и суммируйте устройство в целом.
Процесс реализации выглядит следующим образом:
1. Сканирование порта Wi-Fi Xiaoai Audio;
Кредит нельзя сказать «нет», после ожидания в течение 30 минут я увидел только один TCP-порт 53 и был разочарован;
[email protected]:~# nmap -p 1-65535 -T4 -A -v 192.168.1.168 Starting Nmap 7.60 ( https://nmap.org ) at 2018-08-31 09:00 UTC Initiating ARP Ping Scan at 09:00 Scanning 192.168.1.168 [1 port] Completed ARP Ping Scan at 09:00, 0.28s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 09:00 Completed Parallel DNS resolution of 1 host. at 09:00, 0.00s elapsed Initiating SYN Stealth Scan at 09:00 Scanning MiAiSoundbox.IOT (192.168.1.168) [65535 ports] Discovered open port 53/tcp on 192.168.1.168 Increasing send delay for 192.168.1.168 from 0 to 5 due to 55 out of 137 dropped probes since last increase. Increasing send delay for 192.168.1.168 from 5 to 10 due to 29 out of 71 dropped probes since last increase. Warning: 192.168.1.168 giving up on port because retransmission cap hit (6). SYN Stealth Scan Timing: About 0.87% done SYN Stealth Scan Timing: About 1.73% done; ETC: 09:59 (0:57:36 remaining)
2. Используйте nmap для захвата коммуникационного пакета Xiaomi Audio;
Разбираем колонку, xiaomi mi Bluetooth Speaker,мелкий ремонт)
Можно сказать, что этот метод может перехватывать более 95% адреса формата источника аудиоданных, что эффективно, но бесполезно для реализации системы анализа;
При получении этого пакета был найден порт 9999. Этот последующий анализ был запущен процессом nao_httpd и предоставил информацию о файле конфигурации xml этого устройства.
3. Проанализируйте logcat журнал приложения Xiaoai Audio;
Этот шаг, я не буду много говорить, все понимают, посмотрите на журнал, это не более чем MICO push, POST и GET для получения соответствующей информации API;
4.Reverse Little Love APP
Я проигнорирую это, давайте сделаем это самостоятельно, есть много обратных методов и инструментов.
Я не сделал этого шага, потому что Xiaomi, который начинал с программного обеспечения, не был настолько глуп, чтобы не делать немного защиты, и ему было бы интересно играть самостоятельно;
5, последовательный порт на материнской плате аудио, это более эффективно и легко реализовать;
Недостатком является то, что вам нужно исследовать соответствующие паяные соединения и последовательности линий. Здесь я даю соответствующие паяные соединения и последовательности линий, которые могут помочь вам легко войти в систему:
Последовательность проводов паяных соединений аудио последовательного интерфейса Xiaomi AI, подключенных к USB:
(Предложите ПО для последовательного порта PUTTY, скорость передачи 115200)
После получения последовательного порта вы можете увидеть всю информацию внутри него.
6, часть OTA, получить прошивку и распаковать прошивку, это также может быть достигнуто.
Потому что прошивка в Xiaoai Audio, которую вы купили сегодня, это уже старая прошивка.
Запрос на обновление этого устройства можно получить на странице обновления приложения Xiaoai Audio, а соответствующий адрес прошивки можно получить, получив запрошенный адрес.
Получив адрес прошивки, вернитесь к прошивке и легко получите содержимое корзины, а также проанализируйте файловую систему, чтобы проанализировать, что вы хотите.
Как показано на рисунке:
Загруженные файлы следующие:
7. Организуйте всю вышеуказанную информацию и поделитесь ею с читателями и друзьями для анализа и обучения.
Ниже я покажу вам результаты вышеуказанного анализа:
Информация запуска TTL последовательного порта (немного длинная, просто имеет смысл):
После нажатия клавиши ввода на клавиатуре вы сразу войдете в систему:
[email protected]:/# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:195 errors:0 dropped:0 overruns:0 frame:0 TX packets:195 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:59309 (57.9 KiB) TX bytes:59309 (57.9 KiB) wlan0 Link encap:Ethernet HWaddr 50:A0:09:70:0B:20 inet addr:192.168.1.168 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::52a0:9ff:fe8c:9bd0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:21 errors:0 dropped:0 overruns:0 frame:0 TX packets:58 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8569 (8.3 KiB) TX bytes:11463 (11.1 KiB)
Получить информацию, соответствующую MAC:
[email protected]:~# cat /bin/getmac.sh #!/bin/sh case «$1» in sn) uci -c /data/etc get binfo.binfo.sn ;; did) uci -c /data/etc get binfo.binfo.miio_did uci -c /data/etc get binfo.binfo.miio_key ;; miio_did) uci -c /data/etc get binfo.binfo.miio_did ;; miio_key) uci -c /data/etc get binfo.binfo.miio_key ;; mac) uci -c /data/etc get binfo.binfo.mac_wifi ;; *) uci -c /data/etc get binfo.binfo.mac_wifi ;; esac
Здесь неудобно раскрывать соответствующую информацию об оборудовании, и вместо этого используется следующее, количество символов соответствует [email protected]:~# getmac.sh sn 54321/123456789 [email protected]:~# getmac.sh did 012345678 xAxZx7xWx2xXaXxX [email protected]:~# getmac.sh miio_did 012345678 [email protected]:~# getmac.sh miio_key xAxZx7xWx2xXaXxX [email protected]:~# getmac.sh mac 00:11:22:33:44:55
Время RTC, этот метод может использовать каждый.
[email protected]:~# cat /bin/ntpsetclock [email protected]:~# curl —connect-timeout 8 api.mina.mi.com/ping good
Тачпад Тачпад взаимодействует через Ubus следующим образом:
Источник: russianblogs.com
Превращаем шлюз умного дома Xiaomi в колонку
Привет, хабра гиктаймс-читатель! Сегодня я научу тебя как из бесполезного функционала получить полезный. Получать будем на примере умного дома от небезызвестной компании Xiaomi и её продукта в виде ZigBee-шлюза.
Владельцы компонентов умного дома от Xiaomi знают, что большая часть их делится на умеющие общаться по zigbee или bluetooth. Нас будет интересовать шлюз для zigbee девайсов версии 2, т.к. именно там появился функционал радио, который по дефолту может воспроизводить только китайские интернет-радиостанции.
Конечно, в интернете есть проект, с помощью которого можно не хитро добавить различные другие радиостанции, но мы пойдем другим путем и будем делать из шлюза беспроводную колонку.
Что нужно?
Для успешного осуществления операции нужно:
- Собственно, сам ZigBee шлюз версии не менее 2 (в ней появилось радио)
- Любой веб-сервер
- Смартфон на котором есть рут и установленная софтина MiHome c выбранной страной China Mainland
Что будем делать?
Для того, чтобы сделать из нашего шлюза беспроводную колонку нужно прикинуться интернет-радио потоком и обучить шлюз, что стучаться за списком станций нужно именно к нам, а не на китайское API.
Для того, чтобы понять, как приложение на телефоне общается с китайскими серверами, можно поснифить трафик, но я избавлю вас от этого геморроя 🙂 Желающие расширить свой кругозор — можете заняться этим факультативно.
Итак, нас будут интересовать три запроса и, соответственно, ответа к китайскому API, которое живет по адресу api.ximalaya.com:
- /openapi-gateway-app/live/radios
- /openapi-gateway-app/live/get_radios_by_ids
- /openapi-gateway-app/search/radios
Я использовал в качестве вебсервера nginx, вот конфиг:
Создайте в корне вашего вебсервера такую же иерархию. Дополнительно создайте в корне вебсервера папки radio и hls. Все обращения по этим путям должны выводить один и тот же JSON, поэтому есть смысл сделать их ссылками на файл, который назовем stations.json
Вот его содержимое:
< «total_page»:1, «total_count»:1, «current_page»:0, «radios»:[ < «id»:527782023, «kind»:»radio», «program_name»:»AirSound1″, «radio_name»:»AirSound1″, «radio_desc»:»», «schedule_id»:0, «support_bitrates»:[ 64 ], «rate24_aac_url»:»», «rate64_aac_url»:»http:///hls/live1.m3u8″, «rate24_ts_url»:»», «rate64_ts_url»:»», «radio_play_count»:1, «cover_url_small»:»http:///radio/527782023/cover_small.png», «cover_url_large»:»http:///radio/527782023/cover_big.png», «updated_at»:0, «created_at»:0 > ] >
Как можно видеть, тут всё просто — мы отдаем массив радио с указанием, где искать поток. Если у вас несколько шлюзов — можете сделать несколько каналов. Важное замечаение — указываемый тут адрес должен быть доступен со шлюза!
Для того, чтобы приложение увидело ваши изменения необходимо отредактировать hosts на смартфоне и прописать туда соответствие api.ximalaya.com адресу вашего вебсервера.
Теперь о том, как получить поток. Я решил выводить всё со своей звуковой карты с ПК, на котором развернут веб-сервер. Для этого будем использовать ffmpeg:
#!/bin/bash ffmpeg -f alsa -i hw:Loopback,1,0 -c:a libfdk_aac -b:a 64k -f ssegment -segment_list /opt/xiaomiradio/hls/live1.m3u8 -segment_list_flags +live -segment_time 1 -segment_list_size 1 -segment_wrap 5 -segment_list_entry_prefix http:///hls/ /opt/xiaomiradio/hls/64%03d.aac
Обратите внимание на пути и адрес веб-сервера — подставьте ваши.
В принципе, это всё для успешной работы — запустите скрипт ffmpeg, он начнет создавать сегменты со звуком с вашей звуковой карты, запустите приложение на телефоне и выберите вашу станцию — через секунду-две должен пойти звук с ПК.
- Умный дом
- DIY или Сделай сам
Источник: habr.com
Замена динамика Xiaomi Air 12
30.05.2018
Используйте это руководство для замены динамика в вашем Xiaomi Air 12.
Шаг 1
Сориентируйте компьютер так, чтобы логотип Xiaomi находился внизу устройства.
Шаг 2
Удалите белый и черный провода громкоговорителей из черных вкладок, потянув вверх от устройства.
Шаг 3
Вставьте пластиковый инструмент открытия под верхнее среднее резиновое покрытие и поднимите вверх, чтобы открыть скрытый винт.
Шаг 4
Аккуратно вытяните разъем динамика из точки подключения рукой.
Шаг 5
Удалите восемь 3 мм винтов с помощью отвертки Torx T5, вставив отвертку в каждый винт и вращая против часовой стрелки.
Шаг 6
Снимите левый модуль динамика, потянув панель вверх из устройства.
Повторите ту же процедуру для правого модуля динамика.
Модули левого и правого динамиков обозначены буквами «L» и «R» соответственно.
Под модулем будет небольшой клей.
Шаг 7
Вставьте пластиковый инструмент открытия в каждую сторону компьютера и нажмите инструмент вниз, чтобы открыть заднюю крышку.
Вы услышите треск при снятии крышки.
Шаг 8
Снимите заднюю часть ноутбука, осторожно подняв корпус вверх.
Замена крышки жесткого диска Lenovo ThinkPad Edge E530
Замена материнской платы Lenovo Tab 2 A8
Замена батареи PlayStation Move
Замена дисплея IBM ThinkPad 600E
DeWalt DW938 Переключатель VSR Замена
Замена батареи Alienware 17 R2
Удобный поиск
Вам могут помочь
Сервисный центр в Медведково
г. Москва, Студёный проезд, д.12 (Вход со стороны проезжей части. Вывеска «Сервисный центр»)
Сегодня 10:00–18:00,
без перерыва
Сервисный центр MosPlazma
г. Москва, улица Васильцовский стан 10к1, 1 этаж ( вход с нежилой стороны, вывеска «Ремонт техники»)
Сегодня выходной
Nicom, ремонт мобильной и бытовой техники
г. Москва, ул.Мурановская, д.12, Мы на первом этаже жилого дома (Вход напротив автобусной остановки)
Сегодня 10:00–18:00,
без перерыва
Сломался ноутбук Xiaomi?
Оставьте заявку на ремонт ноутбука или просто задайте вопрос мастерам и с вами свяжутся представители сервисных центров для устранения неисправности.
Оставить заявку Задать вопрос
Источник: isfix.ru