How can I decrypt an encrypted "Titanium Backup" backup using standard (linux) tools?


Wi-Fi serves as a practical example, many other uses may apply to the solution I'm looking for.

If I quickly want to access backuped Wi-Fi credentials from my Linux box I know a fast way. With encrypted backups I'm currently out of luck.

That's my quick&dirty way how to do it without encryption so far:

me@local:~$ adb shell
root@android:/ # cd /sdcard/TitaniumBackup/
root@android:/sdcard/TitaniumBackup # ls *W*46.*gz
root@android:/sdcard/TitaniumBackup # gunzip -c *W*46.*gz | grep -C1 MyAccessPoint


Some details on the company's site: http://www.titaniumtrack.com/kb/titanium-backup-kb/titanium-backup-cryptography.html


I have found a working solution on GitHub: https://github.com/phyber/TiBUdecrypter

1. Install/upgrade dependencies (on Ubuntu)

apt-get install python2.7
pip install --upgrade docopt
pip install --upgrade six
pip install --upgrade PyCrypto

2. Get script from GitHub

3. Decrypt a backup

python2.7 tibudecrypt.py com.keramidas.virtual.XML_WIFI_AP_LIST-20140711-012128.xml.gz

There are no standard tools as of now yet. TiB uses their own format which they kindly shared with me when I asked them the same above question.

In fact someone needs to write it still. It could be done in Java or even using bash + openssl only.

  • Is it public, or do I need to ask them myself, if I want it too? I had a look at the encrypted files, but gave up as I couldn't figure out exactly how it's encrypted. I could write something in python (CLI only)
    – R R
    Jun 27 '12 at 5:50
  • It belongs to SO, that's why I didn't post it here. You can see their answer here plus.google.com/101760059763010172705/posts/MQBmYhKDex5
    – ce4
    Jun 27 '12 at 10:23
  • Thanks, it's really helpful. I'm kind of stuck because python doesn't seem to have a usable way to decrypt PKCS8 certificates, so I'll have to use openssl. Anyway, I'll ping you once I have something working.
    – R R
    Jun 27 '12 at 15:14
  • I'll go for the (harder) bash+openssl thing once I find time. PS, python has an openssl package: packages.python.org/pyOpenSSL
    – ce4
    Jun 27 '12 at 15:27

I wrote an implementation in PHP:



php TitaniumBackupDecrypt <.tar.gz file>


According to this TB backs up with public/private key encryption. If you have the private key, you should be able to access (decrypt) the backup file. The easiest way to do this seems to me to be via TB itself, and then perhaps re-save it as non-encrypted.

  • This link is also included in my original question, but it doesn't answer it. There's only some vague info about 'assymetric (rsa) and symmetric (aes) encryption'. That's not sufficient information. PS: I have an open ticket at titaniumtrack.com about this whole question. Let's see what they answer.
    – ce4
    Jun 24 '12 at 10:02
  • Have you got any answers? I'd really like to know more, as well.
    – Dakatine
    Sep 18 '13 at 19:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.