Что конкретно мешает принимать ОТА на модифицированных /системах и почему нельзя отключить?

У меня был постоянный кошмар из-за того, что я не мог принимать OTA ни на одном из моих (рутированных) устройств. Они загружаются в TWRP, жалуются на отпечаток сборки и не устанавливаются, поэтому мне приходится ждать полного .zip и прошивать свои системы вручную.

Что мешает установке OTA на модифицированный раздел /system и почему его нельзя победить или отключить?

Если его нельзя победить/отключить, почему моя модифицированная /система не может лгать о своем отпечатке сборки, чтобы обмануть эту проверку и разрешить установку OTA?

Ответы (2)

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

Android 5.0 (я думаю) переключился с проверки только файлов, которые он исправлял, на проверку раздела в целом, поэтому любая модификация (даже файла, который не исправлен) приведет к сбою.

У вас есть идеи, почему это нельзя удалить или победить?
О, я вижу, вы говорите, что содержимое OTA теперь основано на немодифицированной системе, хм. В этом случае я просто запутался в том, что может быть настолько «другим» в системе /, которая была рутирована, а затем «полностью удалена».
Привет, так вы думаете, OTA теперь выполняют проверки, подобные dmverity?
@moonbutt74, похоже, да . Я думаю, это из-за того, что удаление чужих файлов /systemво время удаления рута не работает, чтобы обмануть системное обновление, потому что расположение битов в блоке до рутирования и после удаления рута, безусловно, будет отличаться.

В дополнение к ответу, опубликованному @bmdixon

  1. OEM-производители, такие как Samsung, имеют счетчик Knox, который срабатывает, когда вы рутируете или заменяете стандартное восстановление на собственное. Ранее для этого были обходные пути, но Note 4 и далее отключает Knox, «записывая» эту информацию в аппаратное обеспечение. Единственный способ вернуть статус Knox — заменить этот чип на материнской плате! (Я не знаю, как это достигается, но это записано в виде почтового ответа от Samsung). Я ожидаю, что OTA сначала проверит это

  2. OEM-производители, такие как Huawei (мое текущее устройство — Honor 6), позволяют разблокировать загрузчик и покрыть его гарантией, разрешая OTA-обновления, если они рутированы, но восстановление без изменений. Замена рекавери не проходит ОТА

  3. Я подозреваю, что операторы, которые «запирают» своих клиентов, также будут использовать свои собственные средства для проверки, прежде чем разрешать OTA (вероятно, это одна из причин, по которой операторы связи развертывают OTA с разной задержкой).

Таким образом, это может быть не простое решение, чтобы иметь трюк восстановления OTA ... слишком много трюков для изучения и проприетарных, что НЕ является целью TWRP.