Что такое 02 в пропатченном магиске vbmeta.img?

В соответствии с дополнительной информацией , приведенной для рутирования устройства Android, у которого нет виртуального диска, но которое можно рутировать через восстановление: нам нужен файл, empty vbmeta.imgи я пытаюсь проверить, что он на самом деле содержит. Я понимаю шестнадцатеричный код, который удалил флаги проверки из original vbmeta.imgи шестнадцатеричный для avbtool 1.1.0, но есть шестнадцатеричный , 00 02в 00000070котором я не понял, почему он там.

Кто-нибудь может это объяснить?

введите описание изображения здесь

Ответы (1)

Согласно этому фрагменту исходного кода Intel, есть uint32_tначало в позиции 0x78(120) и окончание в 0x7b(124). Это расположение помечено как «флаги из перечисления AvbVBMetaImageFlags», которые «должны быть установлены равными нулю, если образ vbmeta не является изображением верхнего уровня».

К самому перечислению. AvbVBMetaImageFlagsопределяется в том же файле, а флаг, установленный Magisk, равен 0x00000002(2). Из источника мы видим, что соответствующее значение, выраженное в нем как 1 << 1, называется AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED, что само собой разумеется.

Короче говоря, Magisk сознательно изменяет это значение, чтобы отключить проверку, которая, вероятно, помешает вашему устройству загрузить измененный образ.