I'll figure it out for myself and publish it for free. Don't you dare pay him anything for it.
It looks like the information is already available for free. The author didn't decide to hold this knowledge hostage:
https://github.com/schildbach/bitcoin-wallet/blob/master/wallet/README.recover
So it turns out there are two different formats for the backups from the Android "Bitcoin Wallet" app, as described in the above link.
The old format is easy enough - you decrypt it using something like:
openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-testnet-2014-11-01 > bitcoin-wallet-decrypted-backup
and get to the WIF privkeys directly.
But the new format is messier. You decrypt it in the same way, but it gives you the wallet backup in "protobuf" format, which seems to need you to download an ugly mess of Java libraries to decode. I don't want to install that stuff, so how else to proceed?
Looking at the protobuf backup in a text editor, I see it starts like this:
Notice the 12 words in the middle there? That's the BIP32 mnenomic for the wallet - and that's all we need.
Copy the 12 words, paste them into
https://dcpos.github.io/bip39/, go to the BIP32 tab, put "m/0'/0" into the "BIP32 Derivation Path" field, and there are all your receiving private keys. Then put "m/0'/1" in the same box and see all your change address private keys. You can toggle off the paths and addresses, generate as many as you need, then copy/paste them into a text file for importing into the CLAM wallet.
Here's a screenshot of the Android wallet, showing my receiving addresses:
and here's a screenshot of the dcpos bip39 page showing the same addresses along with the private keys:
Note that if you put "m/0'" into the "BIP32 Derivation Path" field, it shows you the same xpub string that the Android wallet app shows you when you go to "Settings>Diagnostics>Show xpub".
By reading this post you agree to send a mandatory donation ransom of 1 CLAM to xDoogLusZTyYF45mwy3BwNp2rnGCmV2R9j.