Development [RECOVERY][3.7.0-12.1][UNOFFICIAL][UNIFIED] TWRP with A12/A13 encryption support

Search This thread

der_akinator

Senior Member
Mar 27, 2015
169
261
Berlin
OnePlus 3T
OnePlus 9 Pro
Now that there's a TWRP zip you could skip vendor_boot shenanigans altogether by, a) flash from Magisk app, or even b) flash from custom ROM recovery like Lineage Recovery. 🤘
Yes, I tested both option with stock crdroid recovery installed. They both work and I have updated the installation instruction accordingly.
 

der_akinator

Senior Member
Mar 27, 2015
169
261
Berlin
OnePlus 3T
OnePlus 9 Pro
Okay, I was rooted with Magisk 25.2.
I flashed the TWRP using Magisk from the 30.11.22 folder.TWRP works but decryption does not.
I can not get to my data from TWRP to flash Magisk back.

HELP !!
Which android version are you using? A11 ROMs use a different encryption which is supported by the official builds. You can use the patch boot image option in magisk installer to get it working again.
 

MENINBLK

Senior Member
Which android version are you using? A11 ROMs use a different encryption which is supported by the official builds. You can use the patch boot image option in magisk installer to get it working again.
I am running OOS F.16 on my OP 9 Pro rooted with Magisk 25.2.
I used Magisk to install the unofficial TWRP image from the 30.11.22 folder you posted.
TWRP worked on the reboot to recovery but I could not see my folders at all.
When in TWRP, I tried to decrypt my data folder, I entered my password and it came back with FAILED.
So I rebooted back to System and Fastboot Boot the Magisk Boot.img and Directly installed Magisk from the Magisk app.
So not both apps are working, the decryption is not working in TWRP for OOS F.16.
Oh, one more thing, TWRP shows 3.7.0_12-0 not 12-1....
 
Last edited:

der_akinator

Senior Member
Mar 27, 2015
169
261
Berlin
OnePlus 3T
OnePlus 9 Pro
I am running OOS F.16 on my OP 9 Pro rooted with Magisk 25.2.
I used Magisk to install the unofficial TWRP image from the 30.11.22 folder you posted.
TWRP worked on the reboot to recovery but I could not see my folders at all.
When in TWRP, I tried to decrypt my data folder, I entered my password and it came back with FAILED.
So I rebooted back to System and Fastboot Boot the Magisk Boot.img and Directly installed Magisk from the Magisk app.
So not both apps are working, the decryption is not working in TWRP for OOS F.16.
Oh, one more thing, TWRP shows 3.7.0-12.0 not 12.1....
Strange that decryption is not working on OOS13. I just looked into the fstab of OOS F.11 and the encryption they use is the same as in TWRP. But I will note that there are problems with OOS13 in the first post
 
  • Like
Reactions: osm0sis

MENINBLK

Senior Member
Strange that decryption is not working on OOS13. I just looked into the fstab of OOS F.11 and the encryption they use is the same as in TWRP. But I will note that there are problems with OOS13 in the first post
I downloaded the file again, just in case I had a bad download like @TheSayaMan did.
Installation went through without a hitch. Rebooted into TWRP and could not see my folders again.
I plugged in a USB Drive and reinstalled Magisk from the USB and then rebooted back into OOS13.
Everything except Decrypting is working.
Is there anything you need from my Oneplus 9 Pro that can help you ??

I just looked up the encryption on Android 13 from source.android.com,
it seems that Android 12 and below can use Full Disk/File encryption,
but Android 13 can only use File encryption.
I don't know if this helps or not.
 
Last edited:

der_akinator

Senior Member
Mar 27, 2015
169
261
Berlin
OnePlus 3T
OnePlus 9 Pro
I downloaded the file again, just in case I had a bad download like @TheSayaMan did.
Installation went through without a hitch. Rebooted into TWRP and could not see my folders again.
I plugged in a USB Drive and reinstalled Magisk from the USB and then rebooted back into OOS13.
Everything except Decrypting is working.
Is there anything you need from my Oneplus 9 Pro that can help you ??
It would be helpful to get a logcat output and recovery.log that captures the failure. You can select your usb as storage and copy those files with Advanced -> copy log.
 

Top Liked Posts

  • 2
    Does this recovery work with OOS 13 based roms on the regular 9
    Did you read the title?
  • 10
    Good new for OOS users. One of the TWRP devs found a workaround for data restore on OOS. Just delete "/data/system/users/0/package-restrictions.xml", after data is restored. I will exclude this file by default in a future build, but for existing backups, the file must always be removed manually.

    Edit:
    This is also useful for custom ROMs, because it makes first boot faster and eliminates the need to reboot again.
    6
    Seems to take a lot longer to boot and show the decryption prompt than -5. 🤔
    Uploaded a new build that reverts some of the fstab changes. Works fine on my device and hopefully on yours too.

    5
    Update
    • Fix backups and logs not accessible from system
    If you already have backups that aren't accessible from system, flash change_backup_selinux_context.zip which is available in the latest download folder. All backups made with TWRP builds starting from 14-01-23 (aka 3.7.0-12.1-4) are affected.

    3
    Or use Titanium Backups?

    I'd use Swift Backup instead if I were you. TiBu hasn't been updated in ages, and it can't handle split APKs properly, thus you'd be boned when you tried to restore those apps (and it's not possible to tell if an app uses split APKs without, presumably, an app that can examine the APKs and tell you). Swift doesn't have nearly the number of esoteric bells and whistles that TiBu has (so if you need them, you can still use TiBu for them), but it has the advantage of a modern interface and can properly handle app backups on modern versions of Android. (It'll also back up text messages, call logs, wallpapers, and WiFi networks.)
  • 46
    This is an unofficial build of TWRP, based on the Android 12.1 branch, that supports encryption used by Android 12 and 13 ROMs. This build is tested on OP9pro but it was confirmed to work on OP9 with OOS 12 firmware installed. Other configurations have to be tested.

    As always I'm not responsible for any bricked device or data loss resulting from the use of this TWRP builds. You use this at your own risk.

    For ROMs using FBEv1 encryption aka A11 encryption, please use the official builds by
    @Nebrassy from:

    Download:


    Installation:

    Permanent installation is not possible with TMO stock ROM installed.


    To temporarily boot TWRP, use the first three steps of Option 3.
    For permanent installation, you have three options depending on your current system.

    1. Option for rooted devices:
    1. Download the twrp-installer zip
    2. Flash it with Magisk manager or some other kernel flash utility
    3. Reflash your custom kernel and Magisk if previously installed
    2. Option for users with other custom recoveries but without root:
    1. Download the twrp-installer zip
    2. Flash it with "adb sideload twrp-installer*.zip"
    3. Reboot to recovery
    4. Reflash your custom kernel and Magisk if previously installed
    3. Option is universal:
    1. OOS13 (firmware) users please download boot-oos13.img. All other users please use boot.img
    2. Reboot to bootloader
    3. Run "fastboot boot boot*.img" with the boot image
    4. Go to Advanced > Flash Current TWRP
    5. Reflash your custom kernel and Magisk if previously installed

    Uninstall:

    Just flash the boot partition with your current ROMs boot image with the following steps:
    1. Reboot to bootloader
    2. Run "fastboot flash boot_a YOUR ROM BOOTIMAGE"
    3. Run "fastboot flash boot_b YOUR ROM BOOTIMAGE"
    Alternatively you can flash your currently installed OTA zip, which overwrites boot on the unused slot, but not on the currently used one.

    TWRP Updates:
    1. Download and flash the twrp-installer zip
    2. After that reflash your custom kernel and Magisk if previously installed

    ROM Updates:

    Please follow the official update instructions for your ROM!


    If they give an option to update via recovery you have to substitute adb sideload commands with zip installations. And use the "Automatically reflash TWRP after flashing a ROM" option if you are going to install a ROM zip to preserve TWRP.

    In case your ROM does not provide a recovery update instruction you can try to update via recovery but you are on the safe side if you follow the official instructions. They always have a reason for their particular update instructions!

    Instructions that work for me (on LOS based ROMs):
    1. Flash ROM zip with "Automatically reflash TWRP after flashing a ROM" checked
    2. Flash your previously installed zips (custom kernel, Gapps, Magisk, etc)
    3. Reboot to system
    4. If Gapps packages keep crashing:
      1. Reboot to TWRP
      2. Flash Gapps again
      3. Reboot to system
    For OOS updates you can follow these steps (I haven't tested them):

    About backups/restore:

    Restore data only WITHOUT pin/pattern set.


    Backups can be made with or without pin/pattern set. It is always good practice to copy your backups to your PC or an USB drive. Also after you restored your data partition you have to reboot to system and do a second reboot to get a working system.
    To make first boot faster and eliminate the need to reboot again, additionally use the step mandatory for OOS users.

    If you want to copy your backup to PC, but it doesn't show up, flash change_backup_selinux_context.zip, which is available in download folder.

    For OOS users:
    When data is restored, you have to delete "/data/system/users/0/package-restrictions.xml" before rebooting to system.

    In case you restore a backup with pin/pattern set or have some other issues I have a guide that works for me:

    Source Code:
    Bugs:
    • Permanent installation besides TMO stock isn't possible
    • In case you notice anything else please let me know.

    Thanks to:
    • @Nebrassy for the original device tree
    • @osm0sis for the zip installer
    • TWRP team
    • LineageOS
    13
    Update
    • /data/fonts/* is excluded from backups (has to be verified by someone with backup errors)
    • screen turns completely off now
    • updated firmware files from LE2125_11.C.63 (maybe this helps with OOS13 problems)
    • initial installation is now possible without flashing vendor_boot (I tested a few combinations of installation methods and initial system configurations. So hopefully nothing is broken this time.)
    Have a happy New Year tomorrow!

    10
    Update
    • improve vibration support
    • fix kernel modules loading in fastbootd mode for custom roms (might result in an error message regarding vendor_dlkm for OOS users, but it's just cosmetic)
    Tested on LOS 19.1 (OOS 12 firmware) and crdroid 13 (OOS 13 firmware).

    10
    Update
    • add vendor_boot and dtbo to backup targets
    • add CPU temperature output
    • fix vibration (still doesn't work in fastbootd mode)
    I tested this build on LOS 19.1 (OOS 12 firmware) and crdroid 13 (OOS 13 firmware). Also keep in mind that you have to use the boot image according to your installed firmware, if you want to install/test via fastboot.

    10
    Good new for OOS users. One of the TWRP devs found a workaround for data restore on OOS. Just delete "/data/system/users/0/package-restrictions.xml", after data is restored. I will exclude this file by default in a future build, but for existing backups, the file must always be removed manually.

    Edit:
    This is also useful for custom ROMs, because it makes first boot faster and eliminates the need to reboot again.