В соответствии с дополнительной информацией , приведенной для рутирования устройства Android, у которого нет виртуального диска, но которое можно рутировать через восстановление: нам нужен файл, empty vbmeta.img
и я пытаюсь проверить, что он на самом деле содержит. Я понимаю шестнадцатеричный код, который удалил флаги проверки из original vbmeta.img
и шестнадцатеричный для avbtool 1.1.0
, но есть шестнадцатеричный , 00 02
в 00000070
котором я не понял, почему он там.
Кто-нибудь может это объяснить?
Согласно этому фрагменту исходного кода Intel, есть uint32_t
начало в позиции 0x78
(120) и окончание в 0x7b
(124). Это расположение помечено как «флаги из перечисления AvbVBMetaImageFlags», которые «должны быть установлены равными нулю, если образ vbmeta не является изображением верхнего уровня».
К самому перечислению. AvbVBMetaImageFlags
определяется в том же файле, а флаг, установленный Magisk, равен 0x00000002
(2). Из источника мы видим, что соответствующее значение, выраженное в нем как 1 << 1
, называется AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED
, что само собой разумеется.
Короче говоря, Magisk сознательно изменяет это значение, чтобы отключить проверку, которая, вероятно, помешает вашему устройству загрузить измененный образ.