unlock bootloader ASUS ROG Phone 3 (New Method)

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:​

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.

Python:
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: