Стандартное восстановление может прошивать корневые пакеты и пользовательские ZIP-файлы восстановления, но не пользовательские ПЗУ.

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

Но я хотел бы получить краткое объяснение того, почему нам нужно специальное восстановление для прошивки ПЗУ. Мои основные моменты путаницы:

  1. В стоковом рекавери есть опция « Установить обновление с SD-карты ». Почему мы не можем напрямую прошить оттуда ПЗУ?

  2. Если проверка подписи является проблемой в отношении первого пункта, то как мы можем получить root-права и прошить кастомное рекавери, используя обновление с SD-карты?

Почему не возникает проблем с подписью или проверкой при прошивке корневого пакета или пользовательского пакета восстановления?

Как и любой другой пользовательский пакет ПЗУ, они также не подписаны.

Пожалуйста, объясните мне это. Спасибо.

@beeshyams Извините, но это совершенно разные вопросы. Мой вопрос заключается в следующем: как стоковое восстановление позволяет устанавливать НЕПОДПИСАННЫЕ ПАКЕТЫ ROOT И CUSTOM RECOVERY, НО НЕ ПОЗВОЛЯЕТ УСТАНОВИТЬ CUSTOM ROM НЕПОСРЕДСТВЕННО?
Стоковый рекавери не позволяет устанавливать неподписанные пакеты. Либо посылка вашего вопроса ошибочна, либо вы путаете свою терминологию здесь.
@eldarerathis Я читал, что стандартное восстановление, присутствующее в Android, не позволяет устанавливать любой пакет, не подписанный конкретным поставщиком. В случае пользовательских прошивок они не подписаны и, следовательно, не могут быть установлены, но когда мы рутируем наш телефон, нам нужно прошить файл «update.zip», который снова не подписан поставщиком конкретного устройства, поэтому почему они установлены, а не пользовательские ромы.
Я просто указал на связанный вопрос ... Я не повторял вопрос, и, пожалуйста, процитируйте, где вы читали, в своем ответе выше @elderathis. было бы познавательно
Я точно нигде этого не читал, но этот вопрос только что пришел мне в голову после прочтения процедуры установки пользовательского рома :).
Это требует редактирования вашего вопроса, чтобы четко указать, что это ваша вера

Ответы (1)

Теперь вы должны четко понимать 2 вещи:

  1. Все прошиваемые пакеты подписаны. Это могут быть стандартные ZIP-файлы OTA, корневые пакеты или даже специальные рекавери или ZIP-файлы ROM.

Так в чем же разница между «подписанными» и якобы «неподписанными» пакетами?

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

«Подписанные» zip-файлы, например стандартный zip-архив OTA, используют закрытый ключ, специфичный для OEM-производителя, для подписания сборки. Это ключ «релиза», и единственный тип ключа, который стандартное восстановление распознает, используя соответствующий открытый ключ, когда его просят «Установить обновление с SD-карты».

«Неподписанные» zip-файлы, например корневые пакеты или пользовательские ПЗУ, используют общеизвестные закрытые ключи AOSP (Android Open Source Project) для подписания сборки развертывания. Даже если сборка не была подписана явно, тестовая подпись выполняется неявно. Любое выпущенное устройство со стоковым рекавери от OEM-производителя не имеет или не распознает открытый ключ, соответствующий «тестовому» закрытому ключу. Следовательно, он откажется устанавливать такие ZIP-файлы с тестовой подписью или «неподписанные».

Это необходимо для обеспечения целостности и безопасности устройства, по крайней мере, по мнению OEM-производителей.

Это официальный источник: Страница Sign Builds for Release на веб-сайте AOSP.

  1. Пользовательское восстановление, такое как CWM или TWRP, либо отключает, либо предоставляет опцию отключения (которая обычно включена по умолчанию) «Проверка подписи ZIP-файла». В основном это означает, что он может прошивать любой пакет, независимо от того, какие ключи, тестовые или выпускные, использовались для подписи пакета. К (стоковому) рекавери все ОТА зип.

Так почему же некоторые стоковые рекавери могут прошивать пользовательский ZIP-архив или корневой пакет восстановления?

Вероятно, это связано с 2 причинами:

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

  2. Закрытые ключи выпуска OEM-производителей на самом деле известны разработчикам прошиваемого пакета, но не разработчикам ПЗУ. Я лично наблюдал это с Mi и некоторыми недорогими устройствами Samsung.

Кроме того, есть еще одна причина, по которой для прошивки кастомного ПЗУ необходимо кастомное рекавери.

Чтобы установить ПЗУ, вы должны выполнить следующие шаги перед тем, как прошить zip-архив ПЗУ:

  1. Протрите /dataи /cache. При стоковом рекавери это равносильно сбросу заводских данных.

  2. Протрите /system. Никакое стандартное восстановление не может сделать это по очевидным причинам (почему восстановление стирает раздел, /systemесли оно не поддерживает его откуда-то, например, из пользовательского ROM zip?)

  3. Wipe dalvik-cache, обычно делается после прошивки зипа. Опять же, никакое стандартное восстановление не может этого сделать, но в этом случае нет проблем с блокировкой устройства, если это сделало стоковое восстановление.

Если ваш стандартный рекавери не имеет ни одной из двух вышеперечисленных «функций», вам понадобится программное обеспечение для перепрошивки, которое будет прошивать образы восстановления или ПЗУ на ваш телефон с вашего ПК. Это программное обеспечение для перепрошивки использует файлы образа диска для перепрошиваемого раздела и не заботится о том, подписано это или нет. Это затрагивает загрузчик устройства и полностью обходит восстановление.

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

Несколько примеров такого программного обеспечения: fastboot (для большинства устройств Android), Odin, Heimdall (оба для устройств Samsung), Smartphone Flash Tool (для устройств Mediatek).

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

Очень нужный ответ. Большое спасибо. Только одно, что я хотел бы знать сейчас. Предположим, мне нужно рутировать свой телефон, для этого у меня есть пакет root.zip (неподписанный), который не будет прошит моим стоковым рекавери, и поэтому мне придется теперь добавить пользовательское восстановление, чтобы я мог прошивать этот файл root.zip. Теперь, как мне установить пользовательское восстановление, потому что в основном все методы в Интернете используют приложение «Диспетчер ПЗУ», которому требуются привилегии root. Итак, не является ли это тупиком сейчас. Я хочу прошить корневой файл, но для этого мне нужно пользовательское восстановление, а для получения пользовательского восстановления мне нужен root. ТУПИК .
@Tamoghana И еще одно: действительно ли пользовательские восстановления можно прошивать напрямую (файл * .zip) или для установки на телефон требуется какое-либо другое программное обеспечение для ПК.
@Shivamaggarwal либо у вас есть правильно подписанный «прошиваемый корневой ZIP-файл», либо вам понадобятся другие средства для рутирования устройства. И на ваш второй вопрос: зависит. Большинство пользовательских ПЗУ поставляются в виде ZIP-архива, и вам нужно только получить этот ZIP-файл на свое устройство: вы можете загрузить его напрямую без необходимости использования компьютера, да. Другим может потребоваться специальное программное обеспечение (например, Odin/Heimdall для устройств Samsung).
@TamoghnaChowdhury да, это редактирование очень помогло, и скоро я приму ответ :). Я хотел бы спросить, как вы упоминали ранее об устройствах Mi, к какой категории относятся устройства mi - устройства fastboot, odin, mediatek? Какой метод я использую для установки восстановления на моем устройстве mi?
Устройства Mi используют fastboot. В старых версиях MiUI до v5 было восстановление, которое позволяло использовать zip-архив с включенным root, после чего приложение под названием Flashify можно было использовать для прошивки любого zip-файла или файла образа диска с самого телефона. В Интернете есть инструкции, как это сделать, так что я не буду заниматься этим здесь. Я надеюсь, что вы можете найти его.
@TamoghnaChowdhury Да, я искал это. На самом деле я также обнаружил, что на устройствах Mi вы можете буквально прошить любой zip-файл, просто зайдя в его приложение для обновления и выбрав пакет. Разве это не ограничение подписи, наложенное на устройства Mi, потому что я могу прошить почти любой пакет, такой как root.zip, cwm.zip и многие другие, просто формируя его стоковое восстановление без какого-либо пользовательского восстановления. Будьте добры ответить :) .
Почтовые индексы, на которые вы ссылаетесь, подписаны. Эти подписи имеют известные закрытые ключи, поскольку ПЗУ MIUI имеет открытый исходный код. MI Recovery распознает все, что подписано этими ключами, и позволяет вам их прошивать.
Ооо.. Значит файлы которые я скачиваю с miui.com подписаны моими ми разработчиками. Итак, здесь возникают два условия: 1. Если я скачаю zip-файл из какого-то другого источника, он не будет прошит на устройстве xiaomi из-за несоответствия подписи. 2. Если я возьму zip-файл с miui.com, то он не будет прошиваться ни на одном другом устройстве, отличном от xiaomi. Я прав в обоих своих предположениях?
О да конечно. На данный момент я очень ясно из ваших комментариев. Могу ли я побеспокоить вас в будущем, если у меня возникнут какие-либо трудности :) (это тоже в самом сообщении чата). .
Вы можете добавить меня (или кого-либо еще) в основной чат Android, упомянув @ в начале своего сообщения в чате.
Извините, но я не знаю, как мне попасть в главный чат Android, скажите, пожалуйста.