Long time no see iOS/Android enthusiasts. I wanted to share a useful app I created to automated the process of running checkra1n for arm64 (Android Phone/Tablet) in TWRP (Team Win Recovery Project). This is a fully open source program (excluding the checkra1n binary) licensed under Zero Clause BSD. View it on GitHub here.
TWRP has a built in functionality to queue commands for the next recovery boot. These commands are located in /cache/recovery/command which is just a text file that TWRP reads. This is the same functionality that allows Over The Air (OTA) updates for custom ROMs to boot and reflash themselves.
Using this queue system the checkra1n TWRP app copies an Open Recovery Script (flashable .zip) to /data/checkra1n/checkra1n.zip and boots to recovery by invoking reboot recovery. The included checkra1n.zip then executes and boots back to system reboot system after the checkra1n log message of [*]: All Done is received.
This will not increase the comparability of checkra1n for Android devices but my 2015 Nexus 5X and 2018 Mi Mix 3 both run this application flawlessly. If you were already using your Android device to run checkra1n this should make things easier for you as you don’t need to interact with a shell at all on invoke/remember commands.
To flash the .zip within TWRP without running the app, which is useful if you leave your Android turned off until you need it for a retether, you can find the flashable Open Recovery Script in /data/checkra1n/ and flash it from the Install menu within TWRP.
Happy jailbreaking! (please report bugs on the Github Bug Tracker)
Note the location you downloaded the file to. You will need to know the absolute path the file is located so you can execute it from a terminal command line.
Once you have the file downloaded boot your Android phone into Custom Recovery. Running the tool from Custom Recovery instead of directly inside Android you don’t need to worry about a conflict between different processes fighting over the USB controller. I wasn’t able to run checkra1n from a fully booted Android 10 but I was able to run it from Custom Recovery! Your luck may vary but Custom Recovery is the most reliable option.
Open a Terminal in Custom Recovery (TWRP 3.3.1-17 was used in my video) and change directory to where you saved checkra1n
Next we need to add the execute flag to the binary so it can be run as a program
chmod +x checkra1n
Finally we can run checkra1n from Android
./checkra1n -c -v
Connect your iOS device using your USB-C to USB-A adapter and your Lightning cable.
Now we need to manually enter DFU mode on our iOS device. This is done differently on different devices so if you are unsure just look up “How to put iPhone X into DFU mode” replacing iPhone X with your model and you should find some button combinations to enter DFU.
If you have successfully put your iOS device into DFU and it is connected to your Android Phone running checkra1n the program should recognize the DFU mode USB device and run the exploit!