[XZ1c/XZ1/XZp] temp root exploit to backup drm keys implemented

Search This thread

Xt1572

New member
Nov 2, 2020
4
0
Hi ,
I have xperia XZ1 G8341 with locked bootlaoder EU fw 47.2.A.11.228 , want to downgrade to oreo ,idid some research on XDA forums regarding attest key and not flashing persist .sin and all Ta files .
idid download ftf file from here ,this post target G8341 but befor flashing i would like ask ,do i need to flash partition zip after been unzipped within newflasher directory and boot .ta file in the boot folder ?
Im trying downgrade without any problems or hard bricking my device .
any answer would be appreciated,Thx you in advance.
 

drater2

Senior Member
Nov 22, 2018
65
6
Sony Xperia XZ Premium
Impressive work. Thanks to the excellent instructions all worked flawlessly.

I used .254 to restore the TA keys. If I flash a newer stock rom will it overwrite the locked TA key I restored using this tool?

Can I restore the key in a rooted custom rom?

Best regards
 
Last edited:

bob1791

Senior Member
Hello everybody, can I use this tool to backup the DRM key of my xz1 compact ? It runs the 47.2.B.5.38 build with the October 2019 security patch. I need to go back to oreo or there is something else that woks with this version ?
 

rogat92

Senior Member
Dec 23, 2014
217
46
Jakarta
Does it matter if you don't remove *.ta files or the remove persist (and optionally Qnovo, amss*, ssd) sin files??? (My Android Attest Key was NOT PROVISIONED anyway when I started.) I err just left all the files and flashed them, camera is working though and I have working root and TWRP.

I've also attached a guide, have a look, honestly because I was fumbling around this whole process took me many hours over 3 days and I'm really glad to get responses to my questions. I hadn't done a lot of this stuff for over a year so I basically had to research from scratch on how to install TWRP etc. But I think the guide should change the degree of difficultly from, "this is quite an involved process, you need to have prior experience with installing multiple tools like TWRP, magisk etc. and know where to find the right Google and Sony drivers from as well as have some UNIX knowledge" to more like, "doable for intermediate users who can download and unzip files and can put commands into Command Prompt." It's a small contribution but I'm hoping it should make your work more accessible and more people will use it. :laugh:

Again thanks for making this tool j4nn and thanks to tonsofquestions and j4nn for all your help and answering questions, no guarantee I won't ask more questions though! Again hopefully this guide will mean less questions from others! :D

If anyone has tried to follow this guide and has any suggestions or found it useful let me know :)
anyone still have the newflasher guide?
 

martin_sz

Member
Apr 30, 2016
10
1
hi all,
I've searched in this thread but couldn't answer a few things:
I have a XZ1c on Android Pie (47.2.A.11.228) and I am considering to unlock Bootloader and root,
in order to use Link2SD to move apps to SD card on Stock ROM.

So what is not working as before unlocking? What are disadvantages of unlocking?
 
Last edited:

mortalgen

New member
Nov 26, 2021
2
5
First of all, great work to j4nn and all the contributors, I managed to load Havoc OS onto a SO-02K, original firmware was 47.2.B.5.38 and bootloader unlocked not allowed. But I screwed up after that and can't figure out how to get it back =P

Here's the steps for it, for anyone else who wants it. Highlighting the extra step required for SO-02K, since the bootloader unlock has to be set to allowed first. Also specifying the probable error I made, so others do not make the same mistake.

Just to be clear, the S1 network unlock tool here is required, and money required to be spent if your bootloader is not unlocked yet. I used the temp root exploit for all the times where root is required, as mentioned in the OP. So stock firmware 47.1.F.105 is required. I got the FTF by googling "47.1.F.1.105 xz1 compact". Unzip the FTF. Unzip the partition.zip into a folder named partition.

Before starting, make sure ADB and fastboot drivers are installed, i.e., the device is recognized when in either mode.

1) Downgrade to 47.1.F.1.105 using newflasher. Do not flash persist.

2) Temp root with bindershell, backup TA.

3) Use the S1 network unlock tool to do a network unlock. Follow the steps by Sony to unlock bootloader after that.

4) Temp root with bindershell, backup unlocked TA if you want to, restore locked TA.

5) Flash TWRP

6) Flash custom ROM

If all goes well, it should be working with custom ROM and DRM keys intact. Do not flash back to stock. (Do a Format Data in addition to clearing system, data and cache in TWRP when flashing new ROM, see Edit). I made the mistake of flashing back to stock (47.2.B.5.38), intending to check attest status, then repeating the steps all over again. After flashing custom ROM, WiFi doesn't work. It shows scanning for networks, but zero networks are ever found even though there are many around. The settings app also crashes sometimes when attempting to turn on WiFi.

Tried Havoc OS 4.6 and LOS 18.1, same error on both. Reflashed back to stock 47.1.F.1.105, WiFi is good. Reflashed back to stock 47.2.B.5.38, WiFi is good. Tried repeating the whole process multiple times to no avail. Even tried flashing to 47.1.F.1.105 and doing FOTA update to Pie, still no WiFi when on custom ROM. Emma doesn't work for SO-02K, it shows no services available even though the correct model is detected.

Edit:
After some more testing, I found that not doing a Format Data in TWRP causes WiFi problems when flashing a new ROM, be it custom or stock. In stock, the whole system would be very slow and after a while, it ended up in bootloops. In custom ROMs, the WiFi never detects any networks.

Conclusion:
Follow steps for flashing ROM, but do a Format Data as well.
 
Last edited:

erlang1234

New member
Dec 15, 2021
2
0
I looking programmer who can extract Widevine from phone or Android and explain how to do it.

I looking files…

1639584875214.png
 

4qx

Senior Member
Mar 21, 2022
91
36
This was probably answered before, but is there any point in restoring the keys (or even backing them up) and tinkering with secd as per step 11 if a custom rom will be used?
 
  • Like
Reactions: rez78

4qx

Senior Member
Mar 21, 2022
91
36
TWIMC: Been trying to downgrade my SO-02K with newflasher, the latest version v50 didn't work, an error reading something about the firmware files missing update.xml

newflasher v20 worked though
 
Last edited:

kdolum

Member
Sep 19, 2019
16
9
Thanks again to j4nn for all the work. I was able to backup and restore the TA on a G8441. (Not the SO-02K that I was trying before. That worked also but I was never able to get it working on either AT&T or T-Mobile.) I first checked that I had "Bootloader unlock allowed: yes". Then I downgraded to 47.1.A.16.20_1310-7123_R7B, got temp root with bindershell, and backed up the TA. But then when I went to unlock, "OEM unlocking" was grayed out and *#*#7378423#*#* said "Rooting status: unknown". So I upgraded to Customized US_47.2.A.11.228-R7C, and then I could select "OEM unlocking", unlock the bootloader, get root with Magisk, and restore the previously locked TA. I don't know how to test whether my DRM keys are actually working.
 

SXUsr

Senior Member
Jul 11, 2010
8,160
2,875
Here =)
Thanks again to j4nn for all the work. I was able to backup and restore the TA on a G8441. (Not the SO-02K that I was trying before. That worked also but I was never able to get it working on either AT&T or T-Mobile.) I first checked that I had "Bootloader unlock allowed: yes". Then I downgraded to 47.1.A.16.20_1310-7123_R7B, got temp root with bindershell, and backed up the TA. But then when I went to unlock, "OEM unlocking" was grayed out and *#*#7378423#*#* said "Rooting status: unknown". So I upgraded to Customized US_47.2.A.11.228-R7C, and then I could select "OEM unlocking", unlock the bootloader, get root with Magisk, and restore the previously locked TA. I don't know how to test whether my DRM keys are actually working.
Check the service menu/service info/security
 

maidmeow4

New member
May 18, 2022
3
1
Sony Xperia XZ1
It looks like this kernel (kernel-G8342-47.2.A.11.228-hideunlock.zip) does not compatible with Magisk v24, I flashed Magisk v24 with this kernel and my phone stuck at Sony logo won't boot.
Magisk v23 works fine.

Edit 1: the above process was done by following this post .
Edit 2: update from magisk v23 to v24 inside magisk app also works fine, zygisk can be enabled too.

TL;DR: flash magisk v23.0 with this kernel, then update to magisk v24 inside the magisk app, choose "Direct Install (Recommended)" as install method.
 
Last edited:
  • Like
Reactions: 4qx

maidmeow4

New member
May 18, 2022
3
1
Sony Xperia XZ1
Thanks, @maidmeow4. What do I look for in the DRM info output to know if my keys have been correctly restored?

Look for "Security level" under "Widevine CDM", if it shows L1 then it's good.

Edit: You may also check "Video image enhancement" by going to "Settings -> Display -> Advanced -> Video image enhancement", toggle the On/Off switch and see if there is any quality changes to the demo video below. I remember that if no keys were restored, this feature will not have any effect (and maybe all other Sony specific features, like ClearAudio+).
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 143
    Tools to backup TA partition (drm keys) of Xperia XZ1 Compact
    renotrap-xda-icon.png
    by j4nn
    https://j4nn.github.io/

    As everyone knows, bootloader unlock via code from sony removes drm keys. That disables certain functions, the most critical one being the camera (outputting only solid green pictures in case of oreo fw).
    I've implemented tools that allow to backup the whole TA partition, which contains device master key needed to access sony drm keys and restore the TA after bootloader unlock in order to make the camera (among other things) working again on any sony stock firmware.
    In order to be able to use the tools, you need to flash one of the supported firmwares (or be lucky to have the phone already running it).
    In case you need to downgrade, please check this thread first.

    Anybody who is about to unlock your phone, could you please do so with additional test included?
    See post#500 and post#502 for more details.
    Additional details in post#515, post#516, post#517 and post#527.
    Instructions for the test that I kindly ask anybody who is about to unlock to do are described in the post#520 -- tested already.
    Thank you.


    ABOUT THE TOOLS
    • renosploit - rename/notify exploit to get kernelspace read/write, uses multiple vulnerabilities to overcome kaslr, pxn and pan mitigations of android oreo
    • renotrap - helper application (rename/notify temp root app)
    • renoshell - get temp root shell by use of kernel space read/write primitives provided by renosploit (sources available here)
    • renoroot - a shell script to be started from adb, it starts the above tools to get temp root shell
    A preview video of the tools in action can be downloaded here: renoroot-preview.zip or watched online here.

    As an alternative to renoroot you may use 'bindershell' to get a temp root shell for TA backup - it is available here /added on 2020-02-08/

    SUPPORTED TARGETS
    (with downloadable firmware links)
    • Sony Xperia XZ1 Compact (G8441)
      47.1.A.2.324_CE1 (initial tested by @tramtrist, this release tested by @tanapoom1234 post#212)
      47.1.A.8.49_CE1 (tested by @notaz post#224 and @orsonmmz post#232)
    • Sony Xperia XZ1 (G8341/G8343)
      47.1.A.2.324_CE1 (tested by @HandyMenny post#228)
    • Sony Xperia XZ1 Dual (G8342)
      47.1.A.2.281_CE1 (tested by @Vildanoff post#230)
    • Sony Xperia XZ1 (SOV36) /added on 2019-08-22/
      this Japan version can be flashed with fw for G8431 making it exploitable as standard XZ1 (the possibility to use G8431 fw is confirmed here and also here)
      /this confirms there might be a possibility of TA backup for few yoshino platform phone models that are possible to flash with one of the above firmwares (and boot ok even though designed for other phone variant)/

    • Sony Xperia XZ Premium (G8141)
      47.1.A.3.254_CE1 (tested by @DocLM post#227, by @LinFan post#242 and by @steso90 xzp forum post#45)
    • Sony Xperia XZ Premium Dual (G8142)
      47.1.A.3.254_RU (tested by @greatpatel007 xzp forum post#31 and #39)
    • Sony Xperia XZ Premium (G8188) /added on 2019-04-24/
      this Japan version can be flashed with fw for G8141 making it exploitable as standard XZp (tested by zatsune as documented here)
      /this confirms there might be a possibility of TA backup for few yoshino platform phone models that are possible to flash with one of the above firmwares (and boot ok even though designed for other phone variant)/

    An advice: before flashing anything, enable 'OEM Unlocking' in android developer menu and if flashing a fw for different phone model, skip flashing bootloader (i.e. remove boot/ subdirectory completely before using newflasher). /added on 2019-08-27/

    Please note: the temp root exploit (all renoroot tools) are designed only for the above firmware versions (binary kernels builds in them) - there is no chance it would work on other phones or other kernel builds - do not try it, it would not work.
    Concerning portability to other targets, the exploit itself needs several vulnerabilities not fixed in a kernel, the primary one is CVE-2017-7533 (race between inotify and rename).
    This was patched by google with 2017-12-05 security patch level. That means unless you can flash a firmware with older security patch level, it would not make sense to try to adapt the exploit for a new target (like it is a case with XZ2 Compact device for example).

    USING THE TOOLS
    Please follow the steps bellow for a official and up to date guide. If something was not clear enough, you may also check post#382 from @munted for a pdf guide with screenshots possibly containing more details and windows specific hints.
    1. backup everything you need from your phone
    2. flash compatible firmware
      Before flashing, you may take a screenshot of service menu -> service tests -> security possibly together with current sw version screen for reference and copy them from the phone to your PC.
      You can use newflasher tool from @munjeni and use instructions there to flash the firmware.
      The tool should skip dangerous .ta files automatically. You may consider removing Just remove the persist_X-FLASH-ALL-42E5.sin file, which is discussed here to avoid flashing it - as tested by @tanapoom1234, not flashing the persist partition allows to keep the Android Attest Key - check his post#212. /Added on 2019-04-06: The key is not part of TA obviously, it is present in the persist partition, so never flash persist even after TA backup./
      /Added on 2019-04-09: When flashing a firmware, be sure to flash it's bootloader too (i.e. the whole 'boot' directory needs to be present with all files in it including the .ta there). You might skip appslog, diag, Qnovo and ssd./
      In case of downgrade it is needed to flash userdata (and possibly also cache) otherwise you get a boot loop.
      Just backup your stuff before downgrade as with downgrade comes a factory reset. In fact I would recommend to do a factory reset just before the downgrade in order to remove the binding to your google account. This way you can avoid going online after the downgrade if used without sim and skipping wifi configuration.
    3. prepare your phone
      When the phone boots up, try to avoid connecting to internet by selecting only wifi and not configuring any, skipping accounts setup for later.
      This may not always be possible - if persist is not flashed, android insists on setup of google account online, also starting downloads for upgrade.
      Cancel everything as soon as possible and disable wifi. You may be better not using a data enabled sim card - we try to avoid any updates.
      Disable auto updates of both apps and system. Change the theme from animated backgroud to a static one.
      Enable developer menu, enable adb and "Stay awake" option. An youtube video showing the initial setup to prepare for renoroot is available here.
      Take a screenshot of service menu -> service tests -> security for reference and copy it from the phone.
      Again be sure both wifi and mobile data connection are disabled to avoid any background internet access.
    4. install the tools
      Unzip renoroot.zip (download it bellow). Use following adb commands to get the tools to the phone:
      Code:
      adb push renoroot /data/local/tmp
      adb push renoshell /data/local/tmp
      adb push renosploit /data/local/tmp
      adb install -r renotrap.apk
    5. start the tools to get a temp root shell
      Use adb shell to get a command line terminal to the phone and use following commands:
      Code:
      cd /data/local/tmp
      chmod 755 reno*
      ./renoroot
      The last command above will start the exploit eventually resulting with a temp root shell (that should be indicated by # char before the cursor).
      It may get the phone to reboot in case an overwrite does not hit the wanted shaped heap object.
      You may wait few minutes after the phone boots to allow startup processes to settle down in order to avoid timing influence for next trial.
      There is a video for example of this step available here.
    6. backup your TA partition
      When renoroot is successful, you may use following commands in the root shell to backup the trim area partition:
      Code:
      cd /data/local/tmp
      dd if=/dev/block/bootdevice/by-name/TA of=TA-locked.img
      chown shell:shell TA-locked.img
      sync
      sync
      And then try to read it out from the phone to your PC - use another command prompt window, do not exit the root one:
      Code:
      adb pull /data/local/tmp/TA-locked.img
    7. unlock phone's bootloader using a code from sony
      When you have the TA-locked.img on your PC including screenshots, you may start the official Sony unlock procedure - follow instructions on sony website please.
      Added on 2019-04-16: please note, bootloader unlocking is not reversible - it is not possible to re-lock back (restore of TA-locked does not relock the bootloader).
      So be prepared to live with the boot up warning screen (can be seen for example in this video).

      Again be sure you have the TA-locked.img on your PC before you start unlocking the bootloader - unlock will erase you phone, so it would get lost from /data/local/tmp if not backed up.
      In case oem unlocking is grayed out (so you cannot enable it) you need to go online at least once and the option would be accessible then - video here.
      After you unlock the bootloader, do not flash anything - just boot the same unmodified fw we used for the temp root.
    8. get temp root again to restore TA
      Use the same instructions to avoid internet access and updates as described above, configure the few above mentioned options and start renoroot as before.
      With the temp root shell, backup the unlocked TA (for future comparisons) and then restore the state from the locked one. You may need to adb push the TA-locked.img back to /data/local/tmp as the unlock erased everything.
      Code:
      cd /data/local/tmp
      dd if=/dev/block/bootdevice/by-name/TA of=TA-unlocked.img
      chown shell:shell TA-unlocked.img
      sync
      sync
      And then try to read it out from the phone to your PC (and transfer the locked TA back to the phone) - use another command prompt window, do not exit the root one:
      Code:
      adb pull /data/local/tmp/TA-unlocked.img
      adb push TA-locked.img /data/local/tmp
      And using the window with renoshell temp root shell, restore the TA:
      Code:
      cd /data/local/tmp
      dd if=TA-locked.img of=/dev/block/bootdevice/by-name/TA
      sync
      sync
    9. boot up the phone with the current fw and see about the camera if it works on not
      You may also document the security screen state by taking a screenshot. Do not forget to transfer it from the phone to PC.
    10. flash twrp recovery
      Updated on 2019-08-08: please see post#1029 for the latest workflow with the kernels hiding bootloader unlock status.
      Updated on 2019-02-10:
      Instead of flashing twrp, you may just 'fastboot boot' it if you need it.
      Instead of the steps 10. to 13., you may use patched and rooted kernel hiding bootloader unlock available in following forum threads in order to be able to even install FOTA system update
      giving you back sony drm functionality that fw disables when it detects unlocked bootloader status. For more details see also post#645 of this thread.
    11. OPTIONAL step (only for XZ1c maybe XZ1)
      This step is optional and only lightly tested. The idea is that secd detects unlocked bootloader and switches to limited mode even though drm keys are available. This can be seen in the adb logcat with following message:
      Code:
      E secd    : secd_backend_credential_manager.cpp:77    the bootloader is unlocked, use limited functionality
      To workaround that, we may use a secd ripped from secd extension by modpunk - just flash attached secd-ignore-unlock.zip at bottom of this post via twrp recovery (do not flash the 'secd extension by modpunk' which is linked here only for reference).
      I've analysed, what changes were done in the secd. Also the lib which fixes the missing device key in TA is not needed from the modpunk's package as we have the real valid key there, so I've removed the lib (and the script which would preload it). Therefore it is just about making secd think that bootloader was not unlocked. Thanks to @modpunk for the patched secd and @russel5 for the flashable zip on which the secd-ignore-unlock.zip is based on.
      With this, sony updates may start to arrive.
      Please note, this would make sony think the phone runs unmodified and still locked fw. OTA updates may restore original secd or fail altogether (due to modified system/vendor/... partitions).
      You may boot the phone to see what happens (OTA updates?) - edit: OTA updates did come, but install to be done on reboot failed - tested by @Unbounded, see post#43 and #44 of the attest key thread please - this may confirm the availability of the SOMC Attest Key which may be the key needed to get sony ota updates (just a guess, not sure what exactly this key is used for).
      Again, this step is optional and very experimental, maybe better not to apply it (camera works without this step on any stock fw without any change /until sony changes that in some update/).
      Update: see post#395 for secd_ignore_unlock for XZ1c for pie from @S-trace - thank you. It works with XZ1 too (see post#396). The patch port for XZp pie is here: attest key thread post#67.
      In my opinion all these secd patch variants are hiding the unlocked state only partially. There are other components in the fw that ask about the unlock state. A proper solution for this is the unlock hiding patched kernel linked in the step 10. of this howto.
    12. flash a recent stock firmware
      In case you wanted the patched secd, flash it again over the flashed fw.
      Boot the phone, check functionality, take screenshots.
    13. install magisk if rooted phone is what you need; -)
      Follow instructions of latest magisk, it should work without any special actions.

    AUTOMATED FULL BACKUP
    These are experimental tools (and actually seem not to work in some cases getting truncated files that are useless) to extract most of the partitions from the phone after getting a temp root. It can be used for comparisons/analysis of what unlock changes (download backup-tools.zip at bottom of this post).
    You would run backup-setup.bat in windows command prompt first (you may need to adjust the PATH setting to find adb properly) to copy the tools to the phone and setup tcp forwarding for netcat based copying.
    Then using adb shell you would do:
    Code:
    cd /data/local/tmp
    ./backup-send.sh
    and in windows command prompt you would start:
    Code:
    backup-recv.bat bk-unlocked
    and partitions images would be extracted from the phone (for larger ones sparse android image format is used).
    Full depth comparison could be achieved by use of these backup tools (obviously needs to be done twice - before and after unlock, changing the target directory name argument of backup-recv.bat).

    WHAT WORKS
    Here is a quote of post#185 from @tramtrist in this thread describing the results of the initial tests - special thanks to him!
    I'd like to report in real quick on what's working.
    After following @j4nn very clear instructions and backing up/restoring my TA keys I was left with the NOT PROVISIONED messages he mentioned earlier. However this seems to be no problem as after TA-restore my camera works as it did before. I'm also able to use WIDEVINE sites which require that key as well.
    After restoring TA I went ahead and flashed the latest UK customized firmware
    I then flashed TWRP latest version 3.2.3
    I wanted to have root so I flashed Magisk 1.73 and safety net worked without me having to do anything special.
    Google Pay could be set up and seems to be using my credit cards just fine.
    I didn't flash any custom kernel as stock is just fine for me.
    Adaway is working with root without issue.
    All-in-all if you follow @j4nn instructions when he's ready to fully release them to the public then I'd say you will be in good shape.
    I'd like to thank @j4nn for giving me the chance to finally contribute something concrete to this community. If you're gonna use this you should drop him some cash.
    Update: if you follow the links added in step 10. and use "rooted kernel hiding bootloader unlock", it seems you can have all functionality restored including fota system updates while having magisk root with passed safetynet cts. Verified by @notaz in post#14 of the "[XZ1c] rooted kernel hiding bootloader unlock" thread. Thanks.

    ACKNOWLEDGEMENTS
    Many thanks to following users:
    • @moofesr - for testing initial kernel builds until proper build procedure had been found, special thanks for his patience when all tests resulted with bootloop
    • @Raz0Rfail and @moofesr - for testing timing of rename/notify vulnerability with patched kernel
    • @dosomder (aka zxz0O0) - for his iovyroot
    • @tramtrist - for initial testing of TA backup, unlock and restore, special thanks for exposing to risk of loosing drm if it did not work
    • @tonsofquestions - for a lot of testing with unlocked-ta-restored phone when I did not have an unlocked phone yet
    • ThomasKing (not a user on xda) - for his black hat ksma presentation
    • few other users in this and attest key lost thread here on xda - for some other cve possibilities, ideas and specific tests

    DONATIONS
    Please note: I had to invest enormously lot of time (as you can see throughout this thread and also summarized in progress/change log in post#2) to develop these tools, the code is extremely complex (more than 9000 lines of source code) and it was unbelievable hard to debug and get the timing usable.
    It would be kind of you if you could consider donating here please:
    https://j4nn.github.io/donate/
    I would be happy to accept any donation to me as a form of gratitude in case the software helped you to backup your TA (drm keys) before bootloader unlocking.
    Thanks.

    DOWNLOAD THE TOOLS
    See the attached renoroot.zip at bottom of this post.
    Please post your experience with using the tools, if it worked and on which phone model (and fw in case of xz1c).
    You may include info about how long it took to get a root shell, how many reboots, how many events in the last trial which succeeded with how many overwrites (just one with success is the best, more means previous overwrites did not hit wanted object in shaped heap resulting with possibly unstable system). This info is interesting for statistics, so we all know, how fast can we get a temp root on each device/firmware.
    Thanks.
    32
    permanent root with still locked xz1c preview

    Here a preview video of my current work: still locked xperia xz1c with permanent root on latest fw
    Phone since power up, no unlocked bootloader warning screen, i.e. still locked, with root / magisk right after boot, even auditor app passes the hardware attestation confirming locked state.
    fw version 47.2.A.10.107 (July 1, 2019 security patch level)
    29
    Try to flash full 47.1.A.16.20 fw with newflasher - remove *.ta, keep boot subdirectory (including the one .ta there), remove persist (and optionally Qnovo, amss*, ssd) sin files.
    Try to boot it, check camera and video enhancements. At least camera should work if TA was previously restored.
    Flash the latest twrp. Then magisk. As far as reported by other guys, these two steps were straightforward...

    Does it matter if you don't remove *.ta files or the remove persist (and optionally Qnovo, amss*, ssd) sin files??? (My Android Attest Key was NOT PROVISIONED anyway when I started.) I err just left all the files and flashed them, camera is working though and I have working root and TWRP.

    I've also attached a guide, have a look, honestly because I was fumbling around this whole process took me many hours over 3 days and I'm really glad to get responses to my questions. I hadn't done a lot of this stuff for over a year so I basically had to research from scratch on how to install TWRP etc. But I think the guide should change the degree of difficultly from, "this is quite an involved process, you need to have prior experience with installing multiple tools like TWRP, magisk etc. and know where to find the right Google and Sony drivers from as well as have some UNIX knowledge" to more like, "doable for intermediate users who can download and unzip files and can put commands into Command Prompt." It's a small contribution but I'm hoping it should make your work more accessible and more people will use it. :laugh:

    Again thanks for making this tool j4nn and thanks to tonsofquestions and j4nn for all your help and answering questions, no guarantee I won't ask more questions though! Again hopefully this guide will mean less questions from others! :D

    If anyone has tried to follow this guide and has any suggestions or found it useful let me know :)
    25
    @SXUsr, you know, my work definitely was not about making a profit.
    As mentioned in this post (my answer for a help request to exploit google pixel 2 xl locked down by verizon), just counting the time spent, I could make a better profit taking any low paid job than any bounty promised here.
    If I wanted everybody to pay, it would be a heavily protected commercial app with online license providing private keys to obtain key parts to exploit particular target.
    As already mentioned, if I did not want to get it done for myself, I would not do it, regardless possible reward.

    So thank you to all who donate.

    And so you know, there was an exceptionally generous donation recently - a person who donated even 100$ (not making any comment or any link to a nickname here).
    Thank you very much. That shows there are few who really understand how it was difficult and what value it brings.

    And so you know, your money did not get wasted - I've ordered a brand new XZ1 Compact just for testing and development work.
    This will allow me finally to use my phone for daily driver while I can develop or test anything on another one.
    I believe this phone is great, possibly one of last with such small/acceptable size, now temp-rootable to get it under full control - not sure this repeats anytime soon.
    Working on the exploit and testing downgrades and such, I did not have even a contact list in my phone for something like 9 months!
    Think about it, having such phone and instead of using it, working so long on an exploit...

    Thanks again to all who appreciate the effort, the value it brings and donate/donated something.
    23
    Tools to backup TA partition (drm keys) are released - see the first post of this thread!