[OnePlus 12] SuburbanVampire:
-EDIT- This works up to the combination of settings and modules necessary to pass SafetyNet. I'm now trying to figure out how I managed to do that...

I decided to do a write-up for my experiences with a brand new out of box USA OnePlus 12.

I'm assuming that you're already familiar with the normal stuff when it comes to working with Android devices, like ADB, fastboot, etc.

The general flow here is not that weird: update the device to most recent stock, unlock bootloader, install Magisk, install some modules

If anything in here is found to be incorrect, post a comment and I'll update my post :)

-From out of box, the device had one major and one incremental update to install before it considered itself up to date

--After fully updating, I'm running Android 14, version string CPH2583_14.0.0.610(EX01) , Baseband Q_V1_P14,Q_V1_P14, Kernel 6.1.57-android14-11, Hardware CPH2583_11

--Android security update April 5, 2024

The standard steps to get Development enabled work on this device

-go to Settings>About Device>Version> tap on Version Number ~8 times (until you get a toast notification saying you're now a developer)

NOTE: ADB connection will NOT be active / enabled until you plug into a computer and also go to the "Charging This Device" notification and change the USB connection over to "File transfer / Android Auto"

From a normal powered on state:

-"adb reboot bootloader" reboots to Fastboot

-"adb reboot recovery" and "adb reboot fastboot" both boot to recovery

-When in fastboot, the command "fastboot flashing unlock" is used to unlock the bootloader (wipes your device data as normal), and "fastboot flashing lock" is to go back from an unlocked to locked state (again, wipes your data)

To install Magisk and get root access, you'll need init_boot.img from your current firmware.

-currently OnePlus has no publicly available links to download firmware for recent devices

--Solved this using the open source Android app Oxygen Updater (installed from Google Play marketplace).

-Link for reference: https://play.google.com/store/apps/details?id=com.arjanvlek.oxygenupdater

--Install & launch this app as normal

--Go to Settings (Gear icon)>Update Method and change it to "Stable (full)".

--Go back to the leftmost tab "Update" and now you should have the option to download a 6.58 GB Update. This version DOES contain a useable init_boot.img

--After running that download, right on the root of the regular "internal storage" space for the phone you should find "8740f3864ef27c069fa1abdbcf74dedd0a31ea88.zip", a 6.42 GB file containing the most recent full update for this phone.

--Copy the downloaded ROM to your computer and unzip it to get a folder with some extra files, plus the big "payload.bin" file we're looking for.

There are a bunch of tools out there for working with payload.bin files, but I could ONLY get this to work specifically with FastbootEnhance, and then only by changing an option from default.

-Fastboot Enhance is on Github over here: https://github.com/libxzr/FastbootEnhance

-Inside of Fastboot Enhance, go to the second tab "Payload Dumper", then the second sub tab "Partitons"

-You'll need to check "Allow Incremental" because despite being a full 6 GB update, it will be incorrectly detected as an incremental update otherwise.

-Select init_boot.img from the list and click "Extract Image" and you should then be able to save a clean / unmodified copy of init_boot.img in the location of your choice

-Copy this file back onto your phone's internal storage space (I used the Downloads folder for all my work)

To install and manage the root stuff, I use the Canary branch of Magisk.

-Link to the most recent build https://github.com/topjohnwu/magisk-files/blob/canary/app-release.apk

-Download and install this on the phone, then open it to reveal the option to select and patch the init_boot.img file.

-Once you've got a modified version of init_boot.img, copy this file back over to your computer.

-On the computer, run an "adb reboot bootloader" to get into Fastboot

-With the phone in Fastboot, put the modified init_boot.img file in a convenient location (I just use the same folder as fastboot.exe and my other tools 🤷‍♀️)

-Run a "fastboot flash init_boot magisk_patched-27002_2fTJ8.img" (where "magisk_patched-27002_2fTJ8.img" is the filepath / name for the modded file you're flashing)

-Run a "fastboot reboot" to boot the device into normal operation

-On your phone, run Magisk Manager to trigger the rest of the install process. Magisk should give you a prompt asking if you want to complete install and reboot.

-After proceeding with this, once you're booted back up, open Magisk Manager again to verify it's actually working (Should say something like Magisk> Installed: 81658d45 (27002)

--hit the Settings gear icon in the top right to get into Settings, then scroll down to Magisk>Zygisk. Enable Zygisk and reboot.

Congrats, you're now rooted and can customize your device to your heart's content (ish). However, if you wanna use Google Wallet or any banking apps, or generally avoid stuff complaining, you need to make your device appear legit.

I found that you actually only need 2 Modules:

-Play Integrity Fix-specifically version 15.9.7. Current version is 15.9.8 but there is a known issue with that release where it causes a "CTS Profile Not Matching" issue.

-Direct link to the module, download this to your phone https://github.com/chiteroman/PlayI...download/v15.9.7/PlayIntegrityFix_v15.9.7.zip

-playcurl Module is a helper which only is used by Play Integrity Fix to download a small file needed for spoofing.

--Latest version https://github.com/daboynb/PlayIntegrityNEXT/releases/download/playcurl/playcurl.zip

-Download both modules to your phone and then in Magisk Manager, go to Modules and hit "Install From Storage". You can just directly install them via the downloaded .zip files, no unpacking needed.

-Reboot after installation, and you should now be patched and legit-ish.

"How do I verify that, tho?"

To check and see if your status changes (which is important to me personally since I have to maintain this crap), the best app I found is YASNAC SafetyNet Checker

-Play Market Link https://play.google.com/store/apps/details?id=rikka.safetynetchecker

"Why did you bother doing this, it seems like a pain in the ass!"

Yes, it was. The city I live in has a mass transit system that uses Google Wallet as part of the deployment on Android, so if I want to be able to use transit, my phone has to work with both Google Wallet and the city-specific app. By default, JUST UNLOCKING YOUR BOOTLOADER will cause some of Google Wallet to just not work, like I couldn't add credit cards to it. So, you kind of have to go all in if you want those functions.

I mainly wanted root to be able to use Magisk and other stuff to modify my device, like I will probably try the Google Camera replacement stuff now that I can.

Also, Revanced works nicely with this setup and I'm way too hooked on ad free YouTube to go back to normal.