Корзина
Предметов: 0

Разборка прошивки электросамоката Xiaomi M365

Форум / Электросамокаты Xiaomi / Разборка прошивки электросамоката Xiaomi M365
Настройки
Закладки
ТТХ
Вики
FAQ
Владельцы
Укажите тэги для этой темы: аккумулятор аксессуары амортизация гидроизоляция запчасти кирпичи колеса модернизация мотор наблюдения новости отзывы поломки ремонт свет тормоза

Подписчики:


Владимир Лаврулин

nicomunet123

lukaville

Тарас

FIR3MAN

Всего просмотров темы: 2519
Статистика просмотров за последние 7 дней:
2018-01-20 : 5
2018-01-19 : 6
2018-01-18 : 10
2018-01-17 : 9
2018-01-16 : 2
2018-01-15 : 2
2018-01-14 : 3
Форум / Электросамокаты Xiaomi / Разборка прошивки электросамоката Xiaomi M365
Владимир Лаврулин
Рейтинг: 1325
Член клуба
20 февраля 2017 в 14:38
Владимир Лаврулин
20 февраля 2017 в 14:38
​​​Предлагаю здесь делиться информацией о прошивке и работе приложений для Xiaomi M365. 

Основная задача - сделать аппарат наиболее опциональным.
Чтобы ограничение максимальной скорости было опцией
Чтобы Zero-Start был опцией
​​Ну и т.д. и т.п. :)

Что сейчас есть:
1. История версий прош​​​ивки в txt:
https://electro.club/data/users/2193/files/Xiaomi/CNESCVersion.txt

2. Декомпилированный APK-файл приложения MiHome (одна из версией, распаковалась криво, но много познавательного кода имеется):
https://electro.club/data/users/2193/files/Xiaomi/MiHome_4.0.8_source_from_JADX.rar

1
nicomunet123
Рейтинг: 116
Член клуба
20 февраля 2017 в 22:02
nicomunet123
20 февраля 2017 в 22:02
Владимир, попобуйте посмотреть, куда MiHome лезет, когда ищет обновления. Это тоже будет полезно. 
0
Владимир Лаврулин
Рейтинг: 1325
Член клуба
03 марта 2017 в 20:54
Владимир Лаврулин
03 марта 2017 в 20:54
​Прошу прощения за такую задержку :) Никак не доходили руки поставить снифер на роутер.

В общем, лезет он на ​​58.83.160.17/app/home/latest_version
(домен api.io.mi.com)

Скрин во вложении.

Файл для Wireshark:​​​
https://electro.club/data/users/2193/files/Xiaomi/xiaomi-m365-check_firmware_ver.zip

Жду дальнейших инструкций :) Я понимаю, что лучше всего мне откатиться и перехватить все пакеты во время обновления. Но я пока не знаю как откатиться и чем это грозит :)​​

2
nicomunet123
Рейтинг: 116
Член клуба
03 марта 2017 в 23:32
nicomunet123
03 марта 2017 в 23:32
Не уверен я, что можно откатиться...

А пока я приблизительно понял, где запрос на сервер формируется в коде...​​
0
Владимир Лаврулин
Рейтинг: 1325
Член клуба
04 марта 2017 в 8:50
Владимир Лаврулин
04 марта 2017 в 8:50
[quote="nicomunet123"]А пока я приблизительно понял, где запрос на сервер формируется в коде...​​[/quote]
Так поделитесь, пожалуйста :)
0
Владимир Лаврулин
Рейтинг: 1325
Член клуба
07 марта 2017 в 13:52
Владимир Лаврулин
07 марта 2017 в 13:52
​Откатиться у владельцев NineBot Mini получалось не просто, но получалось. Возможно, к самокату такой же метод подойдет:
http://forum.electricunicycle.org/topic/4257-how-to-downgrade-your-ninebot-xiaomi-nine-9-segway-mini-mini-pro-from-128-to-117-firmware/

Для этого требовалось обмануть приложение, направить на свой сервер и подсунуть любую прошивку под видом последней версии. Просто подняв DNS-сервер и заменив адрес. Все необходимое они собрали в один файл и инструкцию:
https://electro.club/data/users/2193/files/Xiaomi/9BDgrader.rar

И главное! Использовать версию приложения ДО 3.6.0
Приведенные там ссылки на старые версии не работают, постараюсь еще где-то найти.

Инструкцию выложу отдельно:​
https://electro.club/data/users/2193/files/Xiaomi/NineBot%20Mini%20Downgrade%20Readme.pdf​​

Проблема только в том, что самих прошивок нет :) И, кстати, на сайте ninebot.cn все старые прошивки трутся (или они поменяли адрес?). В общем, сейчас их там нет.

На всякий случай дублирую то, что удалось найти nicomunet123 на наш сервер, чтобы никуда не делось :) Но пытаться обновиться до этой версии я не рискну :)
https://electro.club/data/users/2193/files/Xiaomi/ESC_Driver_V1.0.4.zip
0
nicomunet123
Рейтинг: 116
Член клуба
07 марта 2017 в 21:17
nicomunet123
07 марта 2017 в 21:17
Ответ пользователю
Владимир Лаврулин : 04 марта 2017 в 8:50
на это сообщение (развернуть)
[цитата nicomunet123] Так поделитесь, пожалуйста :)
[quote="nicomunet123"]А пока я приблизительно понял, где запрос на сервер формируется в коде...​​[/quote]
Так поделитесь, пожалуйста :)
​Новые все прошивки качаются с сайта Xiaomi. Ну я так понял.
Я просто вбил в поиске по коду строчки из WireShark'a...
Приблизительное место нашел, но потом что-то подзабыл об этом.
(http://electrotransport.ru/ussr/index.php?topic=43910.msg1029960#msg1029960)​​​​
0
OLEG
Рейтинг: 33
09 марта 2017 в 16:25
OLEG
09 марта 2017 в 16:25
​​Найти Ninebot 3.5.1 не составило труда:
https://electro.club/data/users/2209/files/Ninebot351.rar

С процедурой даунгрейда тоже все понятно.​ Сложно будет разобрать, изменить и собрать прошивку в формате​​ bin. Как вы собираетесь это делать?
0
Владимир Лаврулин
Рейтинг: 1325
Член клуба
09 марта 2017 в 16:54
Владимир Лаврулин
09 марта 2017 в 16:54
Ответ пользователю
OLEG : 09 марта 2017 в 16:25
на это сообщение (развернуть)
​​Найти Ninebot 3.5.1 не составило труда: https://electro.club/data/users/2209/files/Ninebot351.rar С процедурой даунгрейда тоже все...
​​Найти Ninebot 3.5.1 не составило труда:
https://electro.club/data/users/2209/files/Ninebot351.rar

С процедурой даунгрейда тоже все понятно.​ Сложно будет разобрать, изменить и собрать прошивку в формате​​ bin. Как вы собираетесь это делать?
​Приветствую, OLEG! А мы вот ждем когда к этой затее присоединиться еще и хороший низкоуровневый программист :) У Вас, случайно, нет подобных навыков?

Ну и гугл нам в помощь, конечно...​​
0
OLEG
Рейтинг: 33
09 марта 2017 в 22:03
OLEG
09 марта 2017 в 22:03
Нет, к сожалению я не по этой части.
0
Владимир Лаврулин
Рейтинг: 1325
Член клуба
06 апреля 2017 в 10:22
Владимир Лаврулин
06 апреля 2017 в 10:22
Ну вот с соседнего форума прилетели логи bluetooth обновления с 1.2.9 до 1.3.0

Снимались по этому методу:
http://stackoverflow.com/questions/23877761/sniffing-logging-your-own-android-bluetooth-traffic

Внутри два лога:
1. Соединение, обновление, отсоединение.
2. Соединение, отсоединение.

Файл копирую на наш диск для сохранности:
https://electro.club/data/users/2193/files/Xiaomi/xiaomi_bt_log.zip
1
lukaville
Рейтинг: 2
Гость
08 апреля 2017 в 0:34
lukaville
08 апреля 2017 в 0:34
Отписался на этом форуме:
 http://electrotransport.ru/ussr/index.php?topic=42849.msg1058294#msg1058294

Там есть ссылка на прошивку 1.3.0 и на proof-of-concept Android приложение, которое может отправлять запросы на самокат.
2
Владимир Лаврулин
Рейтинг: 1325
Член клуба
08 апреля 2017 в 9:23
Владимир Лаврулин
08 апреля 2017 в 9:23
lukaville, благодарю! :)

Ну и опять-таки, поскольку на электротранспорте все что касается прошивки находится в 10-ти сообщениях и разнесено в сотнях страниц 3-х разных тем, то я продолжаю пытаться соединить все в одно целое в этой теме :)

Перехваченный файл обновления представляет собой ZIP-архив:
https://electro.club/data/users/2193/files/Xiaomi/xiaomi_m365_update_130.zip

Также автором было разработано приложение, которое собирает все возможные значения. Рабочее название "Mijia Scooter Bluetooth Protocol Reverse Engineering" :) Исходники любезно предоставлены общественности:
https://github.com/lukaville/mijia-scooter-reverse-engineering

Вот перехваченный дамп, в котором сверху выделен серийный номер, снизу текущий заряд батареи.
[img]https://electro.club/data/users/2193/files/Xiaomi/xiaomi_bluetooth_data.jpg[/img]
https://electro.club/data/users/2193/files/Xiaomi/xiaomi_bluetooth_data.jpg


В целом проделана большая работа в этом направлении, автору однозначный респект! :)
2
Тарас
Рейтинг: 31
18 августа 2017 в 9:52
Тарас
18 августа 2017 в 9:52
всем привет. все прошивки которые сдесь выложены, на MAIN плату,не рабочие! При прошивке контроллера - ноль!
как проверял? брал обсолутно новую плату выпаивал контроллер, дабы сохранить прошивку, запаивал новый - шил на выходе полный ноль. Новая плата полностью рабочая НО в ПО зашито другие серийники на что идет постоянный писк, а в Ninebot apk показывает ошибку серийкиков. При этом все работает, но скорость макс ~12кмч точно не смотрел.  
2

Добавить сообщение


21 января 2018 в 1:57

21 января 2018 в 1:57

Почему я могу писать сообщения даже без регистрации?

Отправить    Сохранить

Cообщение на форуме от Mr_Hurma_xD
Cообщение на форуме от Andie
Тоже была такая мысль. Если батарее и болтаться, то как...
Cообщение на форуме от Andrey2017
Георгий а можно адрес узнать где можно это посмотреть...
Cообщение на форуме от prafsha
Ему бы на перед колёсико от раптора.. но здесь его в...
Cообщение на форуме от Ed01
По габаритам самое то. Для нее есть дополнение к Arduino IDE...
Cообщение на форуме от EcoDrift
так с одного завода. Как много раз я и говорил)) Толкьо...
Cообщение на форуме от Sergevit
Уже писАл об этом, но повторюсь. Отвал происходит в...
Комментарий к статье от !GENgroup
Блин, вот это для меня единственный и классный плюс! ))...
Комментарий к статье от Мидас
Самокат, конечно, удобнее для перевозки грузов, но...
Cообщение на форуме от Sergevit
ATtiny85 на платке с USB за 100 рублей (2 и 3 картинки) должно...
Еще

Mister Big Joe363
!GENgroup362
Владимир Лаврулин324
Leo265
oska241

Inokim OX
Усиливаем крепление батареи, чтобы её контакты не рвались.
citycoco harley
Speedway mini 4
Подключение альтернативного аккумулятора к Сяокату
Подшипники мотор-колеса Speedway Mini 4
Электросамокат/самокат в метро
ePAt rover
2017.01.20 - зимний оффроад
Speedway 3 Mini Pro и прочая хрень с Авито