2

Recently I broke the screen and digitizer of my phone and now want to be able to get my data off or even control it. While researching I stumbled upon scrcpy which gives you full access to your device if you have ADB enabled (which I unfortunately have not).

I have TWRP installed, can boot into it and have ADB access there but my persistent storage is encrypted and when trying to decrypt it with TWRP I just get the E:No crypto support was compiled into this build. error message.

Now how can I get off my data or control my device while being unable to decrypt the persistent storage?

1 Answer 1

3

You can enable ADB by editing certain build.prop options which can be done without data access. Then, like you already mentioned, you can easily control your phone with scrcpy.

For an in-depth explanation on how to achieve this head over to this XDA Thread. It boils down to these 7 steps:

  1. Boot into the recovery
  2. With ADB, add the following lines to /system/build.prop
    # Enable ADB
    persist.service.adb.enable=1                                                 
    persist.service.debuggable=1
    persist.sys.usb.config=mtp,adb
    
    # Disable authorization
    ro.adb.secure=0
    ro.secure=0
    ro.debuggable=1
    
  3. Reboot to system
  4. ADB should be enabled now, use scrcpy to enter your decryption secret
  5. Wait until the persistent storage is mounted (e.g. by checking if the directory /data/adb/service.d/ exists) and then IMMEDIATELY push a script with the following content into the /data/adb/service.d/ directory and make it executeable (via adb push /path/to/script.sh /data/adb/service.d; adb shell chmod 777 /data/adb/service.d/script.sh
    #!/system/bin/sh
    
    resetprop persist.service.adb.enable 1                                                    
    resetprop persist.service.debuggable 1
    resetprop persist.sys.usb.config mtp,adb
    
    resetprop ro.adb.secure 0
    resetprop ro.secure 0
    resetprop ro.debuggable 1
    
    echo "1" > /data/property/persist.service.adb.enable                                                    
    echo "1" > /data/property/persist.service.debuggable
    echo "mtp,adb" > /data/property/persist.sys.usb.config
    
  6. Reboot again
  7. Enjoy your ADB access!

Note that in order to get this to work you need to have Magisk installed. If that's not the case it should already work after step 2, if it doesn't you can try to just execute the last three lines of the script as soon as the persistent storage is mounted.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .