Allows editing of the iOS keychain without a jailbreak by updating the keychain-backup.plist file of an encrypted backup.
This repository is a basic React frontend for irestore with a simple Node.js backend to stitch together various Keychain pieces. It’s beyond the scope of this project to rebuild and transfer a full backup in the browser. The intended output is an updated encrypted keychain-backup.plist, which you can insert back into a backup with irestore.
Not all Keychain items are editable as ThisDeviceOnly items are only able to be decrypted with the hardware 0x835 key which is unique to each device.
This technique was originally developed to allow signing in to Feedly with Reeder 4 on older iOS devices.
git clone git@github.com:dnicolson/iOS-Encrypted-Keychain-Editor.gitcd iOS-Encrypted-Keychain-Editornpm installnpm run start
-
Create an encrypted backup with iTunes/Finder or iMazing
-
Enter the absolute path and password into iOS Keychain Backup Editor
-
Make edits to the Keychain
-
Click "Download Keychain Backup"
-
Run:
irestore /path/to/backup restore KeychainDomain /tmp/backup-keychaindomain cp ~/Downloads/keychain-backup.plist /tmp/backup-keychaindomain/keychain-backup.plist irestore /path/to/backup unrestore KeychainDomain /tmp/backup-keychaindomain /path/to/backup-updated rm -rf /tmp/backup-keychaindomain -
Restore the new backup
MIT License.
