Ранее я занимался обслуживанием электромобилей Tesla, а в свободное время развивал свой стартап с роботами. Как мог пытался популяризировать Tesla, вот пара статей как чинить ее самому. Работа в сервисном центре Tesla была увлекательной и захватывающей. В течение своей карьеры я стал локальным экспертом в обслуживании этих инновационных автомобилей.

Мы проводили регулярное техническое обслуживание, диагностику и ремонт автомобилей, чтобы убедиться, что они работают в полном порядке. Это включало проверку электрических систем, аккумуляторов, электроники и других важных компонентов. Одним из особых аспектов работы было обновление программного обеспечения электромобилей Tesla. Компания Tesla регулярно выпускала обновления, которые включали новые функции и улучшения, этим радовала меня как пользователя, но огорчала как разработчика, закрывая все дыры.

Работа в обслуживании электромобилей Tesla давала мне возможность погрузиться в мир новейших технологий и продвинутой электромобильной индустрии. Уверен, что опыт работы с электромобилями Tesla дал мне ценные знания и навыки, которые смогу использовать и в дальнейшем.

Tesla была единоличным лидером инновационных решений в автоиндустрии, но, так не могло продолжаться вечно.

Реальность автоимпорта в РФ и бум авто в Китае

Одна из самых популярных моделей. Zeekr 001
Одна из самых популярных моделей. Zeekr 001

Вектор изменения внешних факторов, влияющих на структуру импорта в РФ и вектор бума развития автоиндустрии в Китае сошлись как нельзя кстати. В нашу страну по разным данным до 90% новых автомобилей завозится именно из Поднебесной в этом году.

Мне посчастливилось познакомится с китайскими авто еще до того, как это стало в тренде, и не долго думая, я продал все свои Tesla. А бывало, когда у меня был весь ряд SEXY от св. Илона.

Android на китайских авто

В Tesla все ПО проприетарное, внутри бинарники и особо не разгуляешься. Да, я менял конфигурацию, чтобы сделать машину быстрее, генерировал карты для навигации. Активировал полный автопилот FSD. Но существенно поменять внешний вид ПО или добавить приложения/функции невозможно.

В китайских автомобилях все совсем по другому. Медиасистемы работают на Android. Это дает огромные возможности для кастомизации. Когда я начал этим заниматься я не мог найти структурированной информации, но оно и понятно. Все известные дыры стараются закрыть. Сначала я русифицировал свой китайский автомобиль Zeekr, затем меня попросил товарищ. В итоге, я начал работать в команде Provolta.

Аппаратные инструменты для взлома

Я расскажу Вам о наборе инструментов, которые смогут облегчить Вам путь, если Вы собраетесь заняться кастомизацией Android. Я не претендую, что мои методы единственные, это просто мой путь. Первым делом я выпаиваю память и считываю все разделы. Попутно прозванивая все точки для дальнейшей работы без выпайки.

Какие разделы физически в памяти Android?

На хабре есть пост про разделы. На диске Android находятся различные разделы, включающие как системные, так и пользовательские данные. Ниже приведены некоторые из основных разделов, которые вы можете найти на диске Android, хотя от машины к машине, или вернее, в зависимости от блока мультимедия разделы будут разными:

  1. System Partition (Системный раздел): Этот раздел содержит операционную систему Android, включая все основные файлы и настройки. Здесь находятся важные компоненты, такие как ядро операционной системы, системные приложения, библиотеки и настройки.

  2. Data Partition (Раздел данных): В этом разделе хранятся пользовательские данные, включая установленные приложения, пользовательские настройки, контакты, сообщения, медиафайлы и другую персональную информацию. Данный раздел также содержит кэш-файлы и временные файлы, создаваемые приложениями в процессе их работы.

  3. Cache Partition (Раздел кэша): В этом разделе хранятся временные файлы и кэш-данные приложений. Кэш-файлы используются для более быстрого доступа к приложениям и сохранения временных данных. Периодическое очищение этого раздела может помочь освободить место на диске и улучшить производительность устройства.

  4. Recovery Partition (Раздел восстановления): Данный раздел содержит важные файлы и инструменты для восстановления системы Android в случае проблем или сбоев. Раздел восстановления позволяет установить официальные обновления операционной системы или выполнить сброс устройства до заводских настроек.

  5. Boot Partition (Раздел загрузчика): В этом разделе находится загрузчик операционной системы Android, который отвечает за процесс загрузки устройства и запуск операционной системы. Здесь также хранятся файлы для восстановления и обновления системы.

Важно отметить, что структура и названия разделов могут незначительно отличаться в зависимости от производителя устройства и версии операционной системы Android. Вышеуказанные разделы являются основными и присутствуют на большинстве устройств под управлением Android.

MITM атака и доступ через внутреннюю сеть

В современных авто используется стандарт 1000BASE-T1 (802.3bp). Используя соответствующий медиаконвертор и заменив собой соответствующий адрес в подсети авто можно получить доступ к внутренним компонентам, в том числе и ADB.

Так же в стандарте OBD есть LAN. Обычный 100 Мбит и там есть очень много чего интересного. Используя nmap находим IP в сети. Далее открытые порты. Используя сниферы и Wireshark считываем и анализируем пакеты.

Программные инструменты для взлома

Получив полный образ eMMC можно начать разработку. Немного о том, как происходит загрузка на с процессором Qualcomm: Встроенный ROM загрузчик Qualcomm (pbl — primary bootloader) загружает раздел sbl1 (secondary bootloader). sbl1 загружает tz (trust zone), затем aboot (android boot, little kernel, lk). Aboot в свою очередь загружает boot, recovery или fota.

Если мы хотим поменять систему, но при этом чтобы все загружалось нам нужно убрать проверку на целостность и проверку подписи, для этого нужно пропатчить boot. Это можно сделать руками, но есть инструмент magisk.

Magisk - это мощный инструмент для управления корневым доступом (root) на устройствах Android. Он предлагает пользователю возможность получить права суперпользователя на своем Android-устройстве и управлять различными аспектами системы, не изменяя основных файлов и разделов. Magisk особенно популярен среди энтузиастов Android, которые хотят настроить и улучшить свои устройства.

Вместо простого предоставления полного доступа к системным файлам, как это делает традиционный рут-доступ, Magisk разработан таким образом, чтобы обходить проверки безопасности, связанные с сетевыми банковскими приложениями и другими приложениями, которые могут не работать на устройствах с рут-доступом из соображений безопасности.

Magisk также позволяет пользователям устанавливать модули, которые представляют собой дополнительные функции и модификации для устройства. Это могут быть модули для темирования, улучшения производительности, настройки интерфейса пользователя и многого другого. Пользователи могут скачивать и устанавливать модули из репозитория Magisk Manager, который включен в инструмент Magisk.

Загружаем модифицированный boot, проверяем загрузку и начинаем менять систему под себя. Кастомные ROM-ы, которые предлагают более глубокую и широкую кастомизацию Android. Кастомные ROM-ы не только изменяют внешний вид устройства, но и добавляют дополнительные функции и настройки, которых может не быть в официальной прошивке. 

О том, как пользоваться apktool и как непосредственно переводить приложения есть хороший пост, повторяться не вижу смысла.

FOTA

Следующим шагом к мастерству является покорение FOTA — firmware over the air. Как правило все прошивки приходят с сервера с подписью и размером для проверки целостности. Проблема в том, что мы не можем получить приватную подпись из системы.

Публичная подпись - это криптографический механизм, который используется для аутентификации и проверки целостности данных. При создании публичной подписи используется пара криптографических ключей: приватный ключ и публичный ключ. Приватный ключ является секретным и хранится только у владельца ключа, а публичный ключ распространяется открыто. При подписывании данных приватным ключом создается цифровая подпись, которая затем может быть проверена с использованием соответствующего публичного ключа. Если проверка подписи успешна, это дает уверенность в том, что данные не были изменены и что подпись была сделана владельцем приватного ключа.

Приватная подпись - это, в отличие от публичной подписи, механизм авторизации и аутентификации, который использует приватный ключ для создания подписи, а не публичный ключ. Приватная подпись используется в системах или протоколах, где важно подтвердить авторство и идентичность отправителя, но не требуется, чтобы получатели могли проверить подпись. Примером может служить система, в которой отправитель создает приватную подпись, чтобы доказать, что определенное сообщение было создано или обработано именно им, но не обязательно предоставлять публичный ключ для проверки.

Мы можем один раз модифицировать проверку пакетов OTA, заменить адрес сервера на свой и все дальнейшие обновления машина уже будет получать с нашего сервера.

Для модификации:

-Подключаем машину к Сети с настроенным Wireshark;

-Находим на какой IP машина стучиться для получения обновлений;

-В дампе находим через HEX данный адрес и пакет, который обращается за обновлениями;

-Декомпилируем код и модифицируем, собираем обратно.

Трудность поиска информации по теме

Информации по данной теме немного в интернете. Особо ценятся уязвимости нулевого дня, но даже базовые принципы и инструменты работы шировоко не обсуждаются, давайте это исправим.

Уязвимость "нулевого дня"

Для распаковки APK-файлов (пакетов приложений Android) можно использовать различные инструменты. Вот несколько популярных инструментов для распаковки APK:

  1. APKTool: APKTool представляет собой инструмент командной строки, который позволяет распаковывать и собирать APK-файлы. Он позволяет анализировать и изменять ресурсы, манифесты, классы и другие составляющие APK. APKTool поддерживает декомпиляцию и рекомпиляцию APK-файлов.

  2. JADX: JADX это инструмент для декомпиляции и анализа кода приложений Android. Он обладает возможностью распаковки исходного кода Java из APK-файлов, позволяя пользователям просматривать, анализировать исходный код и ресурсы приложений, а также отлаживать их.

  3. Androguard: Androguard является мощным инструментом для анализа Android-приложений. Он может быть использован для распаковки и анализа APK-файлов, извлечения информации о классах, методах, ресурсах и других компонентах приложений. Androguard также обладает возможностями статического анализа и поиска уязвимостей в приложениях.

  4. Apktool Studio: Apktool Studio представляет собой графический интерфейс для APKTool. Он упрощает процесс распаковки и рекомпиляции APK-файлов, предоставляя интуитивный и удобный пользовательский интерфейс для выполнения этих операций. Apktool Studio также предоставляет некоторые дополнительные функции, такие как автоматическое обновление APKTool и интеграция с Git.

Помимо перечисленных инструментов, существует и другие инструменты и программы, которые можно использовать для распаковки и анализа APK-файлов в зависимости от ваших потребностей и предпочтений.

Для распаковки APK-файлов (пакетов приложений Android) можно использовать различные инструменты. Вот несколько популярных инструментов для распаковки APK:

  1. APKTool: APKTool представляет собой инструмент командной строки, который позволяет распаковывать и собирать APK-файлы. Он позволяет анализировать и изменять ресурсы, манифесты, классы и другие составляющие APK. APKTool поддерживает декомпиляцию и рекомпиляцию APK-файлов.

  2. JADX: JADX это инструмент для декомпиляции и анализа кода приложений Android. Он обладает возможностью распаковки исходного кода Java из APK-файлов, позволяя пользователям просматривать, анализировать исходный код и ресурсы приложений, а также отлаживать их.

  3. Androguard: Androguard является мощным инструментом для анализа Android-приложений. Он может быть использован для распаковки и анализа APK-файлов, извлечения информации о классах, методах, ресурсах и других компонентах приложений. Androguard также обладает возможностями статического анализа и поиска уязвимостей в приложениях.

  4. APK Editor Studio представляет собой графический интерфейс для APKTool. Он упрощает процесс распаковки и рекомпиляции APK-файлов, предоставляя интуитивный и удобный пользовательский интерфейс для выполнения этих операций. Apktool Studio также предоставляет некоторые дополнительные функции, такие как автоматическое обновление APKTool и интеграция с Git.

Помимо перечисленных инструментов, существует и другие инструменты и программы, которые можно использовать для распаковки и анализа APK-файлов в зависимости от ваших потребностей и предпочтений.

Вместо вывода

Если Вы развиваетесь в данном направлении или планируете и Вам интересны реальные задачи напишите мне, могу предоставить железо для испытания или помочь советом, делаю это не только из чистого природного альтруизма, но еще и потому что вместе учиться проще.

Спасибо за внимание. Вячеслав Голицын, сотрудник Provolta.

Комментарии (67)


  1. CrashLogger
    15.10.2023 20:02
    +1

    Интересно, насколько там стандартный Android. Сильно ли китайцы его перепилили ?


    1. webzuweb Автор
      15.10.2023 20:02
      +2

      по разному, в целом часто кастомизированный


    1. lonelymyp
      15.10.2023 20:02

      Лаунчер свой на коленке пишут.

      Считай повезло, если там не андроид версии 4.4.3 как на чери тигго)))


  1. csharpreader
    15.10.2023 20:02
    +1

    Одна из самых популярных моделей. Zeekr 001

    ?? Среди кого?

    свой китайский автомобиль Zeekr

    А, ясно. «Эта передача самая популярная среди моей бабушки».


    1. forgot10
      15.10.2023 20:02
      +5

      Видимо речь про самые популярыне китайские электромобили. Тут круг сильно сужается.


    1. nine13
      15.10.2023 20:02
      +24

      Забавно что вы решили докопаться до этого утверждения, при этом предварительно погуглить почему-то не захотели. А тем временем это самая продаваемая электричка в РФ за август. Кстати частенько вижу их на дорогах.


      1. DMGarikk
        15.10.2023 20:02
        +1

        Электрички в РФ вообще штука редкая (в Мск регионе), а с нынешними ценами на авто, когда они еще и существенно дороже бензиновых собратьев аналогичного класса то и не скоро станет прям массовой


        1. webzuweb Автор
          15.10.2023 20:02

          Tesla есть до 2млн


          1. DMGarikk
            15.10.2023 20:02
            +1

            Новая в Москве?

            или 10 летняя ввезеная через Грузию, когда можно еще было?

            бу авто хорошая тема, но она крайне врятли станет массовой как в 90е


            1. hyperwolf
              15.10.2023 20:02

              Битая и восстановленная из Беларуси.


              1. webzuweb Автор
                15.10.2023 20:02

                Дендро-фекальный метод восстановления


  1. venanen
    15.10.2023 20:02
    +5

    На самом деле использовать в ГУ андроид - это очень и очень круто. У знакомого на Geely Tugella после прошивки доступ в чистый андроид, и туда можно ставить приложения. Теперь на ГУ машины можно смотреть фильм, пока стоишь и ждешь кого-нибудь, или в пробке.
    Но еще круче было бы, если бы систему открыли с доступом к некритичным системам (вроде света, дворников, усилия на руле, острота педали газа и тд) и набору всех датчиков автомобиля (включая камеры) - там уже народные умельцы все сделают так, как ни на одном заводе не сделают. И умные паттерны переключения света на основе данных с камеры, улучшенные датчики дождя и кучу всего еще.


    1. GennPen
      15.10.2023 20:02
      +1

      Теперь на ГУ машины можно смотреть фильм, пока стоишь и ждешь кого-нибудь, или в пробке.

      У моего знакомого ГУ не дает запускать видео пока не включишь стояночный тормоз. Видать, из-за соображения безопасности.


    1. KanuTaH
      15.10.2023 20:02
      +21

      Но еще круче было бы, если бы систему открыли с доступом к некритичным системам (вроде света, дворников, усилия на руле, острота педали газа и тд) и набору всех датчиков автомобиля (включая камеры) - там уже народные умельцы все сделают так, как ни на одном заводе не сделают. И умные паттерны переключения света на основе данных с камеры, улучшенные датчики дождя и кучу всего еще.

      И трояны, которые будут выключать вам фары или хаотично менять усилие на руле по команде с C&C (интернет-то на ГУ тоже хотите небось, браузер там потыкать, "пока в пробке стоишь", а?)


      1. dimskiy
        15.10.2023 20:02

        Смотрителям ютуба в пробке глубоко фиолетовы соображения безопасности. Реальной, а не формата "ключ спрятал в экранированный чехольчик".

        И уж тем более они не в курсе что сеть машины преимущественно защищена от злоумышленника методом "нет физического доступа извне". Что, конечно же, успешно обходят


    1. m0tral
      15.10.2023 20:02
      +9

      На самом деле ничего крутого, нормальные автопроизводители используют RTOS, QNX например очень популярна как в кластерах так головах.

      А способы отлома автора эквивалентны работе ломом или кувалдой, сейчас флешки шифруются, процы закрыты, доступ OTA на подписи, и ситуация продолжает ухудшаться.

      Хотел почитать что то интересное, а оказалась совершенно пустая статья.


      1. webzuweb Автор
        15.10.2023 20:02
        +1

        Т.е. Вы владеете ещё и скальпелем, верно?


      1. DMGarikk
        15.10.2023 20:02
        +6

        нормальные автопроизводители используют RTOS, QNX

        и функционал у них ниже плинтуса зачастую, взять любое авто, до появления андройдавто/карплея этож просто ужас какойто насколько бестолковые девайсы

        если у них уж очень сильно горит айпад встроить в торпеду, пусть он будет хоть както кастомизируемым и софт под него не написан чисто под это авто криворукими джунами

        но вообще переносить нужный функционал внутрь ГУ - это надо изобретателей такого сильно бить ногами...у меня печка через экран управляется...это какойто кошмар ейбогу..явно разработчик такого сам на таком авто не ездит


        1. VelocidadAbsurda
          15.10.2023 20:02
          +1

          В ГУ Zeekr творятся сущие чудеса гибридизации: Android работает в… паравиртуализованном контейнере внутри QNX!


          1. dimskiy
            15.10.2023 20:02

            Такого и у именитых брендов встречается. Пытаются решать вопросы безопасности и кооперации между системами разной степени древности.


          1. TonnyRed
            15.10.2023 20:02

            Это шутка, или на самом деле так?


        1. Wolframium13
          15.10.2023 20:02

          но вообще переносить нужный функционал внутрь ГУ - это надо изобретателей такого сильно бить ногами...

          Это удешевляет.


          1. DMGarikk
            15.10.2023 20:02

            Это удешевляет.

            Что удешевляет? заменить 4 кнопки на экран айпада, под который надо писать отдельный софт?

            Вот у меня есть авто, китаец хавал м6, ГУ не умеет нихрена, тупо радио+музыкасфлешки+handsfree для телефона и управление климатом...ВСЁ...экран 10' который нельзя выключить.. и управление климатом тормозит

            вот зачем? под экраном целая панель с кнопками, очень нужными...переключение коробки в спортрежим, выключатель вентилятора (вы часто выключаете вентилятор в авто? вот видно очень нужная кнопка)) но остальные 4 кнопки обдува и крутилку скорости засунули в интерфейс ГУ...который если ты говоришь по телефону блокируется..и ты не можешь подкрутить температуру не прерывая звонок... и оно адски тормозит само по себе

            p.s. благо там андройд и умельцы нашли способ туда вкорячить андройдавто..хоть какойто толк от этой хреноты


            1. sva89
              15.10.2023 20:02
              +1

              Но зато можно... выключить вентилятор!


            1. dimskiy
              15.10.2023 20:02

              Была гдето статья где автор наглядно показывал что в рамках конвеера существенно дешевле именно сенсорное говно, а не кнопочки. Все что с механикой - дороже этих китайских экранчиков.


              1. DMGarikk
                15.10.2023 20:02

                парадокс в том что кнопочки есть, но на них вешают какието тупые ф-ции, типа переключателя RDS для радио штуки три, AF/TP/INFO но управление печкой будет в сенсорном экране (это не про моё авто, но я такое видел)


                1. dimskiy
                  15.10.2023 20:02

                  Ну, с китайцами может быть что угодно, но в целом это можно объяснить разницей поколений балалайки с печкой и соседних компонентов. Типа печковый управлятор "из будущего", а все остальное - со склада :) как знаменитые кнопки тойоты


            1. Wolframium13
              15.10.2023 20:02

              4 кнопки если умножить миллион машин выходит деньги.

              У меня Ниссан выкрутил лампочку из прикуривателя ради экономии.


      1. CrashLogger
        15.10.2023 20:02

        Сейчас там обычно две оси под гипервизором. RTOS для критичных систем и Android для музыки, навигации, управления кондиционером и печкой.


    1. sva89
      15.10.2023 20:02
      +3

      Усилие на руле и чувствительность педали газа - это некритичные параметры, серьезно?


    1. Andrei_Dzehtsiarou
      15.10.2023 20:02
      +1

      Ни чего себе, у вас "некритичные системы"?! Просто представьте себе, что после манипуляций вы ловите баг и ночью у вас гаснет свет, газ в пол и руль выворачивает влево до упора. Максимум, что ГУ должно иметь - это только "read" функционал систем. В первую очередь надо думать про безопасность, из ходя их худших последствий.


  1. ZekaVasch
    15.10.2023 20:02
    +14

    А о чем вы нам рассказали то ?

    Все ждал в конце "подписывайтесь на мой патреон я вам расскажу больше"


    1. webzuweb Автор
      15.10.2023 20:02
      -1

      Эта статья просто массаж для глаз. Это увлекательное путешествие в мир взлома Android.


  1. Pavel1114
    15.10.2023 20:02
    +6

    Спасибо познавательно. Когда то, как и многие, часто перепрошивал телефон, пытаясь сделать его быстрее и лучше) Но делал всё по инструкциям без особого понимания что и для чего. Ваша статья выглядит как более подробная и общая инструкция. Точнее как её начало, потому как статья как будто обрывается


    1. webzuweb Автор
      15.10.2023 20:02

      Эта часть, чтобы понять интересна ли тема вообще


  1. Zara6502
    15.10.2023 20:02
    +4

    всегда во всех своих авто всю подсветку на минимум, во всех магнитолах всё максимально выключено, там где это невозможно - черная изолента приклеена, потому что большую часть года катаешься когда на улице темно и любой источник света в салоне просто напрягает глаза. Управлять всеми устройствами только отдельными клавишами который в полной темноте находишь на ощупь, никакие экраны размером с лопату в машине нафик не нужны, делать ими там нечего.


    1. DMGarikk
      15.10.2023 20:02
      +1

      делать ими там нечего

      навигатор, собтсвенно...но и да, я с вами согласен на 120%, зачастую этот экран-прожектор еще и выключить нереально, он светится даже на минимальной подсветке с темной темой


      1. Javian
        15.10.2023 20:02
        +1

        Пока не станут ставить OLED так и будет. Что маловероятно из-за размеров экрана.


      1. Zara6502
        15.10.2023 20:02

        а, ну да, навигатор, пардон, не пользуюсь поэтому даже не подумал про него, но мне кажется удобнее было бы сделать место для смартфона, чтобы и зарядку подключить, а кому надо тот и навигатор запустит. а машину на 1-2К баксов дешевле сделать.


    1. stalker_316
      15.10.2023 20:02

      Воистину так!


  1. iig
    15.10.2023 20:02

    КМК, китайцам перевод интерфейса на любой язык обошелся бы приблизительно в 0 денег. Языковые файлы правит переводчик; задача китайских инженеров - нажать кнопку build.


    1. katok535
      15.10.2023 20:02

      не соглашусь, видя ублюдочность русификации авто. Сам переключил на английский, чтобы не видеть обрезанные русские слова. С иероглифами, полагаю, дело еще хуже, учитывая совершенно иные пропорции слов, на которые не рассчитан интерфейс.


      1. webzuweb Автор
        15.10.2023 20:02

        Это большая проблема, разная длина слов, тут как раз нужны лингвисты


        1. iig
          15.10.2023 20:02

          тут как раз нужны лингвисты

          Ну да. Но гуглопереводчик и тут оказался дешевле ;)


          1. TsarS
            15.10.2023 20:02

            Да там и без гуглпереводчика не получится. Переводчику дается просто файл, который он должен перевести. Контекст переводчику неизвестен, приложения он не видит. Соответственно и локализовать не может.


            1. iig
              15.10.2023 20:02

              Контекст переводчику неизвестен, приложения он не видит.

              Переводчик здорового человека понимает контекст и видит хотя бы макеты дизайна приложения. А для тупого перевода слов достаточно гуглотранслятора.


              1. konst90
                15.10.2023 20:02
                +4

                 видит хотя бы макеты дизайна приложения

                Если переводчику их предоставили.


              1. TsarS
                15.10.2023 20:02

                Это не от переводчика зависит.


        1. katok535
          15.10.2023 20:02

          думаю, после гугл-переводчика (ИМХО, отличный инструмент в 2023 г, но для черновой работы) нужен инженер, или просто понимающий смысл и назначение каждого элемента, технический специалист. Которому понятно, чем заменить слишком длинные тексты. В моём примере совершенно омерзительное "Телеф. кн." можно заменить хотя бы на "контакты", но специалист по теслам может возразить, что в электромобиле слово "контакты" может быть неправильно истолковано.


      1. konst90
        15.10.2023 20:02

        А как вам "Сенсорный тон" и "Автоматическая блокировка скорости"?


        1. webzuweb Автор
          15.10.2023 20:02

          Синий зуб, классика


      1. CrashLogger
        15.10.2023 20:02

        С иероглифами как раз все хорошо ) Любое слово умещается в 2-3 символа, места хватает, а когда приходят заморские варвары со своим алфавитным письмом - тут то и начинаются проблемы.


        1. iig
          15.10.2023 20:02

          Но на варварский английский перевести удается - места хватает.


          1. webzuweb Автор
            15.10.2023 20:02

            Именно поэтому русский лучше ложится на английский вариант, чем на китайский


        1. numb13
          15.10.2023 20:02

          Если хочется короче, то в юникоде ещё есть пиктограммы и эмодзи


  1. vdromanov
    15.10.2023 20:02
    +1

    Хорошая статья в обще-познавательном плане, автор молодец!

    Однако, самое интересное, на мой взгляд, не раскрыто: каким образом патченный магиском boot попал на целевое устройство?
    Если через прямую запись eemc - как именно обошли проверки загрузчиков?


    1. BoldDwarf
      15.10.2023 20:02

      Вот тоже хотелось бы узнать.

      А вообще, при нормальной организации защиты никакой модифицированный загрузчик бы не стартовал от слова совсем.

      Не пойму, зачем все прочие проверки если the root of trust отсутствует?

      Если только для проверки того, что скачалось неповрежденным.


  1. XenRE
    15.10.2023 20:02

    FOTA

    Проблема в том, что мы не можем получить приватную подпись из системы.

    ...

    -Декомпилируем код и модифицируем, собираем обратно.

    Как это работает? Пока ковыряли код добрые китайцы подарили приватный ключ?

    А чтобы редиректнуть ОТА или любой другой запрос на свой сервер достаточно поднять локальный ДНС сервер (врятли оно лезет напрямую по захардкоженному IP, а если и лезет - просто вешаем на этот IP сервак в личном локальном интернете) а не шаманить вручную с пакетами, но толку то если все в https и с подписями?


  1. VVitaly
    15.10.2023 20:02

    Список разделов приведен довольно устаревший... На новых версия Android уже "по другому" (recovery к примеру отдельного уже нет)... Обход проверки подписей разделов при загрузке может быть реализован "по разному", но при наличии "правильного" Qualcomm загрузчика (обычно он "выковыривается" из "полной" прошивки устройства для PC) уже можно экспериментировать с разделами флеш, есть соответствующий софт позволяющий получить информацию с emmc даже без наличия root доступа через bootloader режим устройства.


    1. webzuweb Автор
      15.10.2023 20:02

      Верно, но основа не меняется, bootm system, vendor так и остаются.


      1. Tima080
        15.10.2023 20:02
        +1

        Ну вот допустим у меня Byd Song, я получил ROOT права, слил с системы на компьютер файл framework-res.apk, внес изменения для русского языка. И как его обратно залить в машину?


        1. VVitaly
          15.10.2023 20:02

          При наличии root и adb доступа через usb или wifi довольно легко через консоль...
          Но фактический набор команд зависит от конкретной прошивки (наличия и состояния разделов).
          Общий план действия (если system можно перемонтировать в rw режим)
          1) adb push <нужный файл> /tmp/
          2) adb root
          3) adb remount
          4) adb shell
          su
          stop zygote
          cp /tmp/<нужный файл> <путь+имя до старого заменяемого>
          chown root.root <путь+имя нового файла>
          chmod 644 <путь+имя нового файла>
          sync
          start zygote (ну или reboot)
          Примерно так...


          1. DMGarikk
            15.10.2023 20:02

            главное не окирпичить железку при этом, а то приключение станет гораздо интереснее

            например получить бутлуп....


          1. Tima080
            15.10.2023 20:02

            Обычным способом типа root explorer или es проводник, он не переводит system в rw, какие еще варианты могут быть


            1. VVitaly
              15.10.2023 20:02

              Вероятнее всего в этом случае что system раздел у вас "виртуальный" и сжатый (а не фактический расположенный на emmc флеш). Нужно смотреть результат команд mount , cat /proc/inand , cat /proc/partitions. Определять раздел emmc "мапируемый" на ваш system. Скачивать образ раздела на комп, распаковывать, модифицировать (заменять нужный вам файл на новый), упаковывать (возможно пересчитывать контрольные суммы или переподписывать его) и только после этого записывать раздел на emmc. Хотя теоретически это можно сделать и на самом устройстве через командную строку (если есть поддержка структур "упаковки" виртуальных разделов в фактические на emmc). Все не просто... :-)


  1. borvkul
    15.10.2023 20:02

    Как насчет Android automotive? Есть опыт?


  1. mxkmn
    15.10.2023 20:02
    -1

    Спасибо за внимание.

    Спасибо и Вам за статью, которая никак не связана с заголовком и совершенно бесполезна. Скорее всего даже не Вам, а чатгопоте.