The bootloader is a piece of software that loads the operating system on your device. When a device’s bootloader is locked, it prevents users from flashing custom firmware, kernels, or recovery images onto the device. Unlocking the bootloader grants users more control over their device and allows for advanced customization and modifications. in this blog post we will walk you through the process to unlock bootloader on ASUS ROG Phone 3.
Official Method Limitations:
While ASUS provides an official method to unlock the bootloader on the ASUS ROG Phone 3, there are instances where this method may not work or may not be accessible to users due to various reasons such as firmware updates, regional restrictions, or changes in ASUS’s policies.
Here’s a step-by-step guide to unlocking the bootloader using Python and Mitmproxy:
Prerequisite software:
- mitmproxy
- SDK Platform tools
- Asus Unlock tool APK
- Required Firmware: Android 12 31.0210.0210.283-0
- Contact Me for unbrick, FRP, Reset, Region Change & root (paid)
Steps:
- Connect your device with ADB and
run adb shell getprop
-
- We’re looking for two values: ro.vendor.build.fota.version, and ro.vendor.product.carrier
- e.g. for me, these values are:
ro.vendor.build.fota.version: WW_AI2202-WW_user_33.0804.2060.142-user-2023XXXX
ro.vendor.product.carrier: ASUS-ASUS_AI2202-WW
- Pay attention to those colours, we need to use those patterns alongside ANDROIDVERNUM (e.g. 12 or 13) to create the following string:
ANDROIDVERNUM..WW_AI2202-WW_user_9999999..999999.0804.2060.142..ASUS-ASUS_AI2202-WW
In the mitmproxy folder create a file called unlock.py, replacing YOURSWVER with the string we just created.
from mitmproxy import http
def request(flow):
if flow.request.host == "dm.asus.com":
if "dm.asus.com/unlock/register" in flow.request.url:
flow.request.urlencoded_form["apkVersion"] = "2.0"
flow.request.urlencoded_form["swVer"] = "YOURSWVER"
- Start mitmproxy
mitmproxy -s unlock.py
- If port 8080 on your device with mitmproxy installed is closed, then open it.
- Your mitmproxy device and ASUS ROG Phone 3 should be connected on the same network, find the IP of your device running mitmproxy and proxy the connection on your phone with the IP and port 8080.
- Download the Asus Unlock tool app on your phone and run it & follow on screen instuctions. Your phone should now be unlocked.
- Stop mitmproxy and close any ports you opened.
Related:
- How to bypass FRP lock on Asus ROG Phone 6 Pro
- How to Fix Qualcomm Crashdump Mode on Asus Rog 6
- ASUS ROG Phone 3 ZS661KS Firmware Flash File (Stock ROM)