Site icon Alex Wang's Blog

Bypassing SIM Lock on Pixels

A person holding a cell phone in their hand

I recently picked up a new Google Pixel 9 and Pixel 10 Pro through some carrier promos. Both phones had fantastic prices but also the classic stipulation that the phone is SIM locked to a carrier for a certain period of time – 60 days in my case.

While this SIM lock period isn’t very long, I wanted to see if there was a way to bypass the lock. Whereas bypassing the SIM lock generally isn’t possible on iPhones because of Apple’s implementation, there have historically been a number of Android phones with some sort of implementation shortcoming that makes it possible, or even trivial, to bypass a SIM lock. Google Pixels fall into this category!

Note: This method was tested in November 2025 on Android 16, build number BP3A.251105.015.

Conceptual overview

Unlike iPhones, the SIM lock state on Pixel phones isn’t really persisted anywhere. This is the aspect of Google’s implementation that we can leverage to circumvent the SIM lock. (this also means that the SIM lock status can be removed from the device through trivial software means, such as a factory reset, so it’s easy to try again in case you make a mistake and allow the phone to lock itself.)

On Pixel phones, there’s an app installed by default called Device Setup (com.google.android.apps.work.oobconfig) which implements the SIM lock. I don’t have a full picture of how this app works, but the high-level I’ve deduced looks something like this:

If you’re an experienced Android modder, your mind probably first went to disrupting the oobconfig app by uninstalling or disabling it. This used to be feasible, but is now difficult/impossible because Google has locked down the ability to disable or uninstall this app, both though the device settings and via ADB. As far as I know, the only way to disable/remove the oobconfig app now is using root. But root is not going to work in this case; rooting a Pixel requires the bootloader to be unlocked, which isn’t possible without allowing the oobconfig app to check the SIM lock status with Google. That will, of course, cause the phone to become SIM locked.

Without the ability to directly remove or permanently disable the oobconfig app itself, the next best thing we can do is prevent it from making that query to Google. One common method I’ve seen on XDA forums is to remove the oobconfig app’s permission to run in the background. I think this used to work but something has changed in recent Android versions such that the phone will still re-lock once connected to Wi-Fi.

Making it work

What worked for me was finding a more direct way to make the oobconfig app non-functional, namely through an app-based firewall.

I used an open-source app called NetGuard, which makes it possible to block internet access on a per-app basis. NetGuard doesn’t require root; instead, it uses a persistent localhost VPN connection to enforce the firewall rules. In NetGuard, blocking internet access for the oobconfig app is simple:

Once NetGuard is enforcing the rule, it should be safe to turn on Wi-Fi and cellular data without having the phone re-lock itself.

There are, however, a few issues I’ve noticed with this method:

Exit mobile version