4

According to the Additional Info given for rooting the Android device that doesn't have ramdisk but can be rooted via recovery: we need an empty vbmeta.img and I am trying to check what it actually contains. I understand the hex that removed the verification flags from the original vbmeta.img and the hex for avbtool 1.1.0 but there is a hex 00 02 at 00000070 which I didn't get why it is there.

Does anybody can explain this?

enter image description here

6

According to this piece of source code by Intel, there is an uint32_t starting at position0x78 (120) and ending at 0x7b (124). This location is marked as "flags from the AvbVBMetaImageFlags enumeration", which "must be set to zero if the vbmeta image is not a top-level image".

On to the enumeration itself. AvbVBMetaImageFlags is defined in the same file and the flag set by Magisk is 0x00000002 (2). From the source, we see that the corresponding value, therein expressed as 1 << 1, is called AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED, which is quite self-explanatory.

In short, Magisk is modifying that value knowingly, in order to disable a verification that would likely prevent your device from booting a modified image.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.