Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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:

share|improve this question

I have found a working solution on GitHub:

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 com.keramidas.virtual.XML_WIFI_AP_LIST-20140711-012128.xml.gz
share|improve this answer
up vote 2 down vote accepted

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.

share|improve this answer
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) – Richard Borcsik 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 – 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. – Richard Borcsik 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: – ce4 Jun 27 '12 at 15:27

I wrote an implementation in PHP:


php TitaniumBackupDecrypt <.tar.gz file>

share|improve this answer

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.

share|improve this answer
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 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 posting your answer, you agree to the privacy policy and terms of service.

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