You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: brands/motorola/README.md
+52-7Lines changed: 52 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Motorola/Lenovo/NEC
2
2
3
3
- Verdict: **⛔ Avoid!**
4
-
- Verdict: **🍅 Terrible!** (Unisoc)
4
+
- Verdict: **🍅 Terrible!** (Unisoc/MTK Legacy)
5
5
6
6
## Kernel sources
7
7
Motorola is one of the manufacturers that provide kernel source code for their devices via official repositories on GitHub. However, they usually have weird build instructions, and will not share them unless you threaten to report to the SFC.
@@ -17,7 +17,15 @@ Typically, source code becomes available about a month after the issue is opened
To unlock your bootloader, you have to submit a request on [this][Unlock Code Website] website, which is pretty bad on its own (*wink*[Huawei](../huawei/README.md)). Unisoc devices will never be unlockable, this is *not* Motorola's fault, Unisoc does not allow unlocking.
20
+
Motorola has three device classes:
21
+
* Qualcomm devices
22
+
* MTK CID
23
+
* MTK Legacy/Unisoc
24
+
25
+
Qualcomm and MTK CID devices are developed and manufactured by the Motorola main team. MTK Legacy and UNISOC manufacturing process is often delegated to third parties ODMs, mainly their partner [Tinno](https://en.tinno.com/news/69.html), and sometimes other like [Huaqin](https://en.huaqin.com/).
26
+
27
+
28
+
For Qualcomm and MTK CID device, to unlock your bootloader, you have to submit a request on [this][Unlock Code Website] website, which is pretty bad on its own (*wink*[Huawei](../huawei/README.md)). Unisoc devices will never be unlockable, this is *not* Motorola's fault, Unisoc does not allow unlocking.
21
29
22
30
In addition, [this forum post][Old devices ineligible] says that once a device passes a certain age (the age not being specified), the device becomes ineligible.
23
31
@@ -29,22 +37,57 @@ So how do you know if your device is unlockable? Well...
29
37
*[This page][Some Devices] says only "Photon Q 4G LTE, DROID RAZR M(Developer Edition), DROID RAZR HD(Developer Edition CDMA-LTE), MOTOROLA RAZR HD (Rest of World -UMTS/LTE), MOTOROLA RAZR HD (Rogers Canada - UMTS/LTE) and MOTOROLA RAZR i are supported by the Bootloader Unlock site." -- Considering these devices are all over 13 years old, this is likely outdated.
30
38
*[And from this conversation][turistu's post][turistu](https://github.com/turistu) had with their support: "most of our E devices doesn't support bootloader unlock program. Please see below a list of devices that support the bootloader unlock program : g100, g51 , g71 , g200 , g52 , g82 , g42 , g62 , g32"
31
39
* There's also an unofficial way with CID to check if your device can be unlocked, check here: [xdaforums.com][CID check]
40
+
* Generally, devices from the g3x series and higher can be unlocked, while G2x and lower (including E devices) cannot be unlocked *officially*.
32
41
33
42
Once your bootloader is unlocked, Motorola does not allow you to relock, attempting to re-lock will [brick your device][brick on relock]
34
43
44
+
Furthermore, on Motorola CID devices a valid **cid** partition needs to be present in the device to be unlocked or even to be able to boot normally. The unlock data is in fact contained in that partition, and cannot be haltered without getting cid `0xDEAD`.
45
+
In case of a corrupted cid partition, you'll need to bring your device for *cid provisioning*, where the cid data is regenerated and signed.
46
+
47
+
On MTK CID devices, it is impossible to unlock using third party tools (like mtkclient or Chimera), because Motorola validates the unlock state contained in `seccfg` against a stored value in the RPMB region in the flash storage.
48
+
Furthermore, Motorola disables BROM USBDL by efuse on newer devices (MTK V6 as well), and the stock Download Agent are limited to only allow flashing the bootloader.
49
+
50
+
### Possible bypasses?
51
+
#### Debug Token
52
+
Motorola CID devices (both Qualcomm and Mediatek ones) have a customized bootloader by Motorola, including their security library `mot_sec`.
53
+
54
+
Decompiling the bootloader it is possible to notice how Motorola includes a special *virtual* partition (it is just part of the cid partition) called `debug_token`.
55
+
By issuing `fastboot flash debug_token <debug-token-file>`, it is theoretically possible to disable all security on the device, including secure boot and more.
56
+
57
+
This file, though, cannot be obtained, since it is most likely used internally by Motorola development team, and it is verified against the public key.
58
+
59
+
#### Keygen
60
+
Many on XDA have wondered [if it was possible to develop a keygen](https://xdaforums.com/t/help-with-moto-g-bootloader-unlock-keygen.2631686/).
61
+
Motorola unlock process (on CID devices only) involves getting the unlock data from the phone using `fastboot oem get_unlock_data`.
62
+
63
+
The phone spits out some random data, that can be parsed the following way:
64
+
```
65
+
1A23457698214365
66
+
5441383930304242443700585431303332000000
67
+
140A858731D55F3B5DF78F0F6BB9EAE32A2B8945
68
+
3D372B020F0000000000000000000000
69
+
```
70
+
* The first line is the IMEI, with an additional A as padding to reach 16 bytes (IMEI as 15 characters long)
71
+
* The second line is the serial number + phone model
72
+
* The third line is thought to be the phone hash or processor UID
73
+
* The 4th line seem to be flash UID
74
+
75
+
Unfortunately, Motorola seems to use asymmetric encryption for generating the unlock key, meaning that without a private key it is impossible to make a keygen.
76
+
On the other hand, the bootloader verifies the key by first generating one on the fly based on the data in CID and hashing it with either HMAC-SHA256 (CID DB v2) or HMAC-SHA1 (CID DB v1), then comparing the hashes of the generated key with the hash of the bytes representation of the provided unlock key.
77
+
35
78
### Non-Lenovo devices
36
79
Even though Motorola has been owned by Lenovo for a while, there are still devices around that aren't made by Lenovo.
37
80
38
-
### Certain G series devices
39
-
For some Motorola devices, the firmware is not developed by the company's core team, but simply purchased solutions from various OEMs.
81
+
### Certain G and E series devices
82
+
For some Motorola devices, the firmware is not developed by the company's core team, but simply purchased solutions from various ODMs.
40
83
41
84
These are exactly the devices that lack any instructions on how to unlock the bootloader or are completely locked, with no way to unlock.
42
85
43
-
Examples of such devices include the Moto G23, G13, G24, and G24 Power.
86
+
Examples of such devices include the Moto G23, G13, G22, G24, and G24 Power.
44
87
45
88
Fortunately, enthusiasts have managed to find unofficial ways to unlock these devices, despite the fact that Moto Agents stubbornly deny the existence of such methods:
46
89
* Moto G13/G23 - Decompiled the bootloader, studied the algorithm for unlocking the bootloader and [developed a keygen](https://penangf.fuckyoumoto.xyz/docs/dev/bootloader), which is required to get the key to unlock the bootloader.
47
-
* Moto G24/G24 Power - Thanks to a leaked engineering DA with full permissions to all partitions and using a custom ChouChou bootloader, [a way to unlock was found](https://fogorow.fuckyoumoto.xyz/docs/dev/bootloader)
90
+
* Moto G24/G24 Power - Thanks to Carbonara, allowing privilege excalation in DA mode and a custom bootloader (chouchou), [a way to unlock was found](https://fogorow.fuckyoumoto.xyz/docs/dev/bootloader)
48
91
49
92
### Google Motos (2012-2014)
50
93
For a short while, Google owned Motorola Mobility (from May 2012 to October 2014). Despite Google devices following the normal procedure, Google Motos used the same unlock portal that the modern Lenovo devices use, and of course, Lenovo removed the ability to unlock older devices, so these Google-era Motos are no longer unlockable. This does not include the Nexus 6, see the [Google](../google/README.md) page for Nexus devices.
@@ -56,9 +99,10 @@ Devices made before Google purchased Motorola Mobility (May 2012) do not have un
56
99
tldr, Motorola split into two companies in 2011. Motorola Mobility, which made the phones and DVRs and is now owned by Lenovo, and Motorola Solutions, who makes everything else. Solutions has recently started making radios which run Android. Not much is known about these devices, Motorola doesn't even reveal which SoC they use, so nothing is really known about these devices. This [datasheet] for the MOTOTRBO ION mentions "Root Detection: Standard", which in Moto-speak, means "this device always ships with root detection.", indicating that the bootloader is probably not unlockable on these devices. Via [this spreadsheet] from Google, you can see the MOTOTRBO ION's codename -- mkz_sdm660_64, which indicates that possibly it uses a Snapdragon 660 SoC, but the MOTOTRBO ION runs Android 13, which seems weirdly new for a 2017 SoC, no it might just be gibberish or something unrelated.
57
100
58
101
### MTKClient + BROM
59
-
Most MTK-based Motorola devices **released before 2022 are susceptible to [mtkclient](https://github.com/bkerler/mtkclient) bypass**, and full unlock may require [ChouChou](https://github.com/R0rt1z2/chouchou) / [Kaeru](https://github.com/R0rt1z2/kaeru) patches to disable automatic bootloader lock.
102
+
Most MTK-based Motorola devices **released before 2022 are susceptible to [mtkclient](https://github.com/bkerler/mtkclient)auth bypass**, and full unlock may require [chouchou](https://github.com/R0rt1z2/chouchou) / [Kaeru](https://github.com/R0rt1z2/kaeru) patches to disable automatic bootloader lock (as seen on Moto E7, codename `malta`).
60
103
61
104
However, on devices **released after 2022, this method is ineffective** as the preloader vulnerability has been patched and the BROM is blocked via eFuse, and attempting to crash the preloader results in a bootloop in the preloader.
105
+
Devices released before 2024 (and some released during 2024 as well) though are vulnerable to [Carbonara](https://shomy.is-a.dev/penumbra/Mediatek/Exploits/Carbonara), a DA1 memory corruption exploit that allows arbitrary code execution.
62
106
63
107
### Non-Motorola Lenovo devices, NEC devices and some Motorola tablets.
64
108
Lenovo usually does not use the Motorola name on their tablets and gaming-oriented phones, and these are typically branded as Lenovo or NEC. While similar to Motorola's unlock process, these have to be unlocked on the [ZUI website], which requires your IMEI, serial number, and email, and they'll send you an unlock-bootloader.img which you flash to the unlock partition in Fastboot to unlock. However, similar to Xiaomi, Lenovo has a quota, which if you surpass, you cannot unlock your bootloader, @MlgmXyysd has created an [unofficial unlock portal] which may work on recent tablets like Legion Y700 4th Gen. Some Motorola tablets, such as the G62, also use the ZUI website to unlock instead of Motorola's unlock portal.
@@ -80,6 +124,7 @@ This clause attempts to prohibit the user from selling, leasing, or otherwise tr
80
124
Additional info provided by [Ivy / Lost-Entrepreneur439](https://github.com/Lost-Entrepreneur439).<br/>
81
125
CID info provided by [FPSensor](https://github.com/FPSensor).<br/>
82
126
Unofficial ways to unlock "Moto G13/G23/G24/G24 Power" bootloader provided by [DiabloSat](https://github.com/progzone122) & [Shomy](https://github.com/shomykohai).<br/>
127
+
Additional info for Motorola CID devices and mtkclient provided by [Shomy](https://github.com/shomykohai).<br/>
83
128
Legal agreement info provided by [FaridZelli](https://github.com/FaridZelli).<br/>
84
129
Lenovo branded and NEC unlock information provided by [CakesTwix](https://github.com/CakesTwix) and [Calyx Hikari](https://github.com/HikariCalyx).<br/>
85
130
Authored by [melontini](https://github.com/melontini).
0 commit comments