Reverse engineering: различия между версиями
Dios22 (обсуждение | вклад) Нет описания правки |
Dios22 (обсуждение | вклад) |
||
| Строка 38: | Строка 38: | ||
==== API первый уровень ==== | ==== API первый уровень ==== | ||
<blockquote>https://cn-cbu-gateway.ninebot.com/ | |||
"ApiList": [ | |||
"/app-api/survey/v1/info", | |||
"/app-api/ad/v1/list", | |||
"/app-api/system-time/v1/get-time", | |||
"/app-api/settings/v1/set-pushid", | |||
"/app-api/settings/v1/set-deviceinfo", | |||
"/app-api/privacy-policy/v1/latest", | |||
"/app-api/app-version/v1/check", | |||
"/app-api/device/bind/is-binding", | |||
"/app-api/device/bind/my-vehicle", | |||
"/app-api/common-user/get-invited-list", | |||
"/app-api/common-user/user-accept", | |||
"/app-api/common-user/common-vehicle-info", | |||
"/app-api/common-user/user-refuse", | |||
"/sun-portal/api/circle/v1/tab-config/list-tab", | |||
"/sun-portal/api/circle/v1/tab-config/get-tab-config", | |||
"/sun-portal/api/circle/v1/tab-config/get-search-config", | |||
"/sun-portal/api/circle-label/v1/label-detail", | |||
"/sun-portal/api/circle-label/v1/search-label-list", | |||
"/app-api/road-book/participate/v1/status", | |||
"/app-api/offline-activity/v1/pre-check", | |||
"/app-api/offline-activity/user/v1/check", | |||
"/app-api/offline-activity/theme/v1/list", | |||
"/app-api/system-config/v1/detail", | |||
"/app-api/task-center/v1/finish", | |||
"/app-api/circle/v1/get-short-url", | |||
"/app-api/circle/v1/share-callback", | |||
"/app-api/circle/v1/circle/set-top", | |||
"/app-api/circle/v1/circle/cancel-top", | |||
"/app-api/circle/v1/circle/hide", | |||
"/app-api/circle/v1/circle/cancel-hide", | |||
"/app-api/circle/home/v1/list" | |||
]</blockquote> | |||
Версия от 16:40, 21 сентября 2026
Это специальный раздел, где будет собираться вся информация о возможностях и попытках создать что-то свое или изменить в софте Ninebot и "мозгах" скутеров.
Куда копать
- Любое неаккуратное изменение приложение или прошивки может привести к бану
- Самое простое решение, чтобы заработала телеметрия - перепаять esim и поставить слот для обычной сим. При этом нужно конфигурить модем АТ командами.
- Самое интересное решение - слушать CAN и сделать свою "коробочку" вместо модема ninebot
- Самое сложное решение - сделать свою прошивку
- Самое правильное решение - добиться официального импорта в РФ и РБ и получить готовое работающее приложение от производителя
Что надо узнать и что уже знаем
Полный разбор протокола BLE (лучшая на сегодня статья)
https://nootnooot.codeberg.page/segway-ninebot-ble/
Куда, как и каким образом модем отправляет данные телеметрии.
https://steeldust.ninebot.com https://steeldust-os.ninebot.com
Маппинг кана
· 0x100-0x1FF:电机控制相关 - МК
· 0x200-0x2FF:电池管理相关 - Батарея / BMS
· 0x300-0x3FF:车辆状态相关 - Общее состояние скута
· 0x400-0x4FF:诊断和维护 - Диагностика и ТО
Зависимость и привязка модулей (даш, модем, контроллер) по серийнику
Как вытищать код привязки BLE из Android
Где искать информацию
Всякая всячина не разобранная
API первый уровень
https://cn-cbu-gateway.ninebot.com/
"ApiList": [
"/app-api/survey/v1/info",
"/app-api/ad/v1/list",
"/app-api/system-time/v1/get-time",
"/app-api/settings/v1/set-pushid",
"/app-api/settings/v1/set-deviceinfo",
"/app-api/privacy-policy/v1/latest",
"/app-api/app-version/v1/check",
"/app-api/device/bind/is-binding",
"/app-api/device/bind/my-vehicle",
"/app-api/common-user/get-invited-list",
"/app-api/common-user/user-accept",
"/app-api/common-user/common-vehicle-info",
"/app-api/common-user/user-refuse",
"/sun-portal/api/circle/v1/tab-config/list-tab",
"/sun-portal/api/circle/v1/tab-config/get-tab-config",
"/sun-portal/api/circle/v1/tab-config/get-search-config",
"/sun-portal/api/circle-label/v1/label-detail",
"/sun-portal/api/circle-label/v1/search-label-list",
"/app-api/road-book/participate/v1/status",
"/app-api/offline-activity/v1/pre-check",
"/app-api/offline-activity/user/v1/check",
"/app-api/offline-activity/theme/v1/list",
"/app-api/system-config/v1/detail",
"/app-api/task-center/v1/finish",
"/app-api/circle/v1/get-short-url",
"/app-api/circle/v1/share-callback",
"/app-api/circle/v1/circle/set-top",
"/app-api/circle/v1/circle/cancel-top",
"/app-api/circle/v1/circle/hide",
"/app-api/circle/v1/circle/cancel-hide",
"/app-api/circle/home/v1/list"
]