Xiaomi MIUI Anti-Rollback checker Tool


Thommy

Members
Aug 4, 2018
272
67
MIUI Anti-Rollback checker is A simple command-line Python 3 tool that can check anti-rollback implementation in MIUI Recovery and Fastboot ROMs.


 
  • Like
Reactions: MeiGuddet
Beware, not working correctly for Recovery ROMs.
Hi Igor,
is there other safe way to tell if a recovery rom contains arb?
I saw that the developer of the tool published an update which fixes detection on recovery roms. Can you confirm it?
Thanks!
 
Hi Igor,
is there other safe way to tell if a recovery rom contains arb?
I saw that the developer of the tool published an update which fixes detection on recovery roms. Can you confirm it?
Thanks!
No, the alleged method is flawed. The value the script looks-up in the bootloader images is inconsistent with the value specified in the Fastboot ROM's flashing script.
 
So there is no way to tell before flashing a recovery rom that arb is present?
 
Hi Igor,
is there other safe way to tell if a recovery rom contains arb?
I saw that the developer of the tool published an update which fixes detection on recovery roms. Can you confirm it?
Thanks!

All OEMs are required by Google to implement ARB from Android 9, and may if they desire for Android 8.


The interesting question should be, what level of ARB is set for each ROM version, and how has the OEM implemented ARB "policing" in practice.

Not all OEMs brick your device if you flash a ROM with an older ARB value, like Xiaomi has done.

And Xiaomi seems to have "weaponized" ARB only for devices released during 2018(?), and not at all for some series, e.g. the Mix series.

I.e, ARB is implemented in the Mixes, but is not actively being used by Xiaomi to brick devices.
Yet, anyway.
 
Last edited:
No, the alleged method is flawed. The value the script looks-up in the bootloader images is inconsistent with the value specified in the Fastboot ROM's flashing script.

The mechanical method ( looking at a certain hex address in the xbl file) behind the script seems also to be purely heuristic, and I have never seen an explanation as to where it comes from.

The exact address seems to vary slightly in different devices, as noted by Nigel8.

It does seem to "work" in practice for those devices I have tried it on, except for Mi9.

So caveat emptor.
 
Last edited:
All OEMs are required by Google to implement ARB from Android 9, and may if they desire for Android 8.
(I have an official link to this in some other thread.)

The interesting question should be, what level of ARB is set for each ROM version, and how has the OEM implemented ARB "policing" in practice.

Not all OEMs brick your device if you flash a ROM with an older ARB value, like Xiaomi has done.

And Xiaomi seems to have "weaponized" ARB only for devices released during 2018(?), and not at all for some series, e.g. the Mix series.

I.e, ARB is implemented in the Mixes, but is not actively being used by Xiaomi to brick devices.
Yet, anyway.
I asked about the arb because I'm an owner of Mi note 3 and soon an android 9 will be released. Also I saw on telegram post that Xiaomi released Pie for MI MIX 2. After several comments they noted that arb is active but nowhere on miui forum they mentioned it. That's why I wanted to check the recovery rom for arb before flashing Pie on my Note 3 whhen it's released.
 
The mechanical method ( looking at a certain hex address in the xbl file) behind the script seems also to be purely heuristic, and I have never seen an explanation as to where it comes from.

The exact address seems to vary slightly in different devices, as noted by Nigel8.

It does seem to "work" in practice for those devices I have tried it on, except for Mi9.

So caveat emptor.
It returns 3 for whyred, 1 for dipper and 2 for sakura. All of those devices have "anti: 4", so how exactly does it ' "work" in practice '?
 
I asked about the arb because I'm an owner of Mi note 3 and soon an android 9 will be released. Also I saw on telegram post that Xiaomi released Pie for MI MIX 2. After several comments they noted that arb is active but nowhere on miui forum they mentioned it. That's why I wanted to check the recovery rom for arb before flashing Pie on my Note 3 whhen it's released.

Mi Note 3 "should" be exempt from Xiaomis bricking policy as it was released in 2017.

To check the ARB level in the new Pie ROM yourself without flashing it first, you could try the method linked to indirectly in the previous posts in this thread.

Here it is, it has worked for the few devices and ROMs I have tried it on, but may well not work for others, as Igor says.

I know of no other way to check without flashing the ROM.

 
Last edited:
It returns 3 for whyred, 1 for dipper and 2 for sakura. All of those devices have "anti: 4", so how exactly does it ' "work" in practice '?

You might look into how Xiaomi possibly exempts certain devices from the ARB check via the flashing script.

I am thinking perhaps they set a certain value in the XBL file, then ignore it (for now, for some devices) via the flashing script.
Just a hunch.

I recall not understanding what the flashing script was doing in respect to the ARB value, it seemed strange.
Now I was too lazy to revive my scripting knowledge to figure out what was going on.