I have been finding my ancient wallets left over from trying out various altcoins over the years, building the corresponding altcoins and getting up to date with their blockchains to access any coins those wallets might contain.
This went fine until I happened upon a wallet that crashed the coin daemon, asking for a database recovery to be done.
db_recover utility for BDB wants you to have a log not just the database (wallet) itself, so that was no good.
So I grabbed pywallet, a newer version of it said to be better than the older one someone else had on github.
Doing just a dump of the wallet using pywallet resulted in huge private keys with long strings of FFFFFFFF in them.
So I tried pywallet's recover routine, as it can work on a file not just on disk drive. (It is intended for scouring a disk or part of a disk trying to recover keys from deleted wallets).
The problem I have now is that the recover routine will not let me give no password to the wallet it creates to put the recovered keys into.
It made me a file with 207 recovered keys in it, but I had to tell it a password to use to encrypt that wallet, so it is an encrypted wallet.
I did mention I am talking about ancient coins, right? Right. Well guess what, some ancient coins do not have encrypted wallet capability even in their latest incarnations.
So the coin daemon cannot use this nice shiny new, but encrypted, wallet.
I asked pywallet to dump the wallet, I even told it the password, but instead of dumping un-encrypted keys the dump has all the private keys encrypted. It told me at the top of the dump that the password was correct, if I tell it a wrong password it tells me it is incorrect. So it does know how to decrypt the keys, heck it probably decrypts them (or at least one of them) to check whether or not the password I give is correct. But the damn dump does not dump decrypted keys.
So I am still trying to find out how the heck to import the damn keys or, probably simplest really, decrypt the damn wallet and leave it decrypted.
I had to tell pywallet the exact address-version the coin in question uses to get it to do things right, so it does not seem likely I could just load it with some other coin deamon entirely, one that does support wallet encryption, then tell that to decrypt the thing.
(A brief look toward that idea actually leads me to think maybe the coins that do support wallet encryption do not offer a decryption option to turn them back into decrypted wallets anyway, so even if I convert the whole thing over to some other coin's address version byte style I maybe still could not use some more modern coin-daemon to decrypt the damn thing.)
Any insights/ideas/solutions?
(Hopefuly something faster than reverse-engineering pywallet to figure out how to hack it to allow not encrypting the recovered-keys wallet it creates.
)
-MarkM-