9
2
A while back, I installed the Bitcoin Android app and moved 5 BTC on it. Fast forward to now, new phone, new ROM, and the app seems completely unwilling to update its blockchain, meaning I have no way to move my BTCs elsewhere.
Looking at the source, it's built on an early version of BitcoinJ, where the wallet file is essentially a serialized Wallet class.
A look at the wallet file itself isn't too friendly, although I'm sure the private key is somewhere in there in a relatively straightforward form.
So, that leaves me with the following possibilities:
write a little Java app that links against the same version of BitcoinJ, load the Wallet file, grab the private key and print it.
write a really dumb script that extracts every 32 bytes sequence from the wallet file, treat it as a private key, map it to a public key, check blockexplorer.com for any activity associated with it. Or just import every one of those sequences into a bitcoin client and let it suffer.
Before I embark on my Quest For Five Bitcoins, is there already something out there that can parse BitcoinJ wallet files and export keys from them?
(1) updating the blockchain is not a prerequisite for being able to send away the coins already there, (2) it's slightly unclear what you did: you backupped that application and its data, and re-installed it in the new phone? – o0'. – 2012-03-21T10:08:02.177
Many clients will not send transactions unless the client knows it has the requisite amount of coins; I suspect that is the case here. – BinaryMage – 2012-03-21T17:54:44.100
@Lohoris I didn't realize that. Both coin sending and blockchain updating are failing, and I drew a causation link where none existed, both likely failing instead due to a third factor. – Metal – 2012-03-23T21:39:52.993
Note that the link to this app (in the question above) is broken. If someone could fix it, that would be great. – Highly Irregular – 2013-02-12T01:07:44.823