With unc0ver, we can jailbreak our Apple TV on tvOS 13.4.5. However, tvOS 13.4.6, which was released few days ago, fixed the vulnerable that unc0ver uses. Unlike iOS/iPad OS devices and Apple TV 4, there's no ipsw for Apple 4K devices. Therefore, in general, you can only upgrade your Apple TV 4K to latest tvOS version. That's why I write this tutorial. With this method, you can upgrade your tvOS to 13.4.5 while SHSH is still signing!
This tutorial shows how to upgrade my Apple TV 4K from tvOS 13.4 to 13.4.5, instead of the latest version (13.4.6).
- Apple TV 4K on tvOS 13.4.5 or below
- Apple Configurator 2
- Check tvOS 13.4.5 SHSH is still signing (You can check this on ipsw.me)
- tvOS 13.4.5 OTA metadata XML，you can grab it here!
- Charles Proxy, you don't need to purchase it. Trial version is enough.
- Xcode. And yes, you can only do this on a Mac.
How it works:
We can trick Apple TV not to get the latest metadata of tvOS versions. So Apple TV would recognize the 13.4.5 OTA metadata file as "the latest tvOS version" metadata, which allows us to upgrade to 13.4.5.
Firstly, you need to pair Apple TV 4K with Xcode on your Mac. You can read this tutorial to learn how to do that.
Then, open Charles Proxy, click "Proxy" → "Proxy Settings" and check port number. I remember that the default port value is 8888, if not, set it to 8888. And then click "Help" → "SSL Proxying" → "Save Charles Root Certificate..." and save the file to desktop. You MUST choose ".cer" format while saving the certificate.
Open Apple Configurator 2, click "File" → "New Profile". In the window, choose "Certificates" in the menu and load the ".cer" file you saved. Then, choose Wi-Fi, in the right part of the window, enter your Wi-Fi SSID, password, and security type. In the "Proxy Setup" menu, choose "Manual" and enter the IP with port (8888) of your Mac which is running Charles Proxy. You can see the following screenshot and check you do all things right.
Now, save the profile to your desktop. Back to the main screen of Apple Configurator 2, you would see your Apple TV in the device list. Drag the profile into your Apple TV's icon, and follow the instruction to install it and trust the profile.
However, not only the profile, but also the certificate need to be trusted. We should open our Apple TV 4K now, in "Settings" → "General" → "About", there's a "Certificate Trust Settings" menu in the bottom. Click it and make our certificate in "trusted" state. Reboot Apple TV and then check whether Charles would show an alert about allowing connection from the IP of Apple TV.
If the alert shows, it means that your settings is correct. Or you need to check whether your Apple TV is connected to Wi-Fi instead of ethernet (cable) and make sure your Mac's IP is same as the one if the profile you created. (sometimes your Mac may change the IP if it reconnects to the Wi-Fi access point)
Then, try to update your Apple TV in Settings.app, it would show that your Apple TV will upgrade to 13.4.6. Click cancel ("do not upgrade now" or something like that), check Charles Proxy, you may see "gdmf.apple.com", right click it and select "Enable SSL Proxying".
Click upgrade your Apple TV again, and click cancel again. This time you can see "mesu.apple.com" in Charles. If you see a "lock" icon before "mesu.apple.com", then you need to "Enable SSL Proxy" for that, like what we did in previous step, and then try upgrade → cancel again.
Otherwise, you can expend the menu under "mesu.apple.com", end expend until it shows "com_apple_MobileAsset_SoftwareUpdate.xml", right click it, choose "Map Local...".
In the popup window, choose the 13.4.5 XML file I provided above. Make sure that the "Path" is not empty and have "com_apple_MobileAsset_SoftwareUpdate.xml" suffix.
Reboot your Apple TV again. Now, you can upgrade your Apple TV, and the prompt would shows that it would upgrade to 13.4.5! So you can continue to upgrade it!
Finally, after the installation, you must remove the profile in tvOS or it can't connect to internet without running Charles on your Mac.