Some cryptocurrency wallets are designed in such a way that you can send us the wallet without actually putting the Bitcoin in the wallet at risk. This means that even if we recovered your password AND wanted to steal it, we couldn't.
Bitcoin wallets -- and the wallets of alt-coins that are close Bitcoin cousins -- contain many different addresses to receive Bitcoin. Typically a wallet may store Bitcoin at a few of these addresses, but not all of them. However, all of the addresses are secured with the same password.
If you have a qualifying wallet, you can extract the portion of the wallet responsible for authentication (the Master Key and the Salt) and a couple of the Bitcoin addresses which do not contain Bitcoin. We can then test passwords against the Master Key.
Prepare for some geekery. :)
Pre-Requisites:
Run pywallet:
python pywallet.py --dumpwallet --wallet=/home/test-user/wallet.dat > partial-wallet.txt
The final part of that command line (" > partial-wallet.txt") will copy the output into a text file named partial-wallet.txt
Open the file partial-wallet.txt in a text editor.
You will likely see a couple of thousand lines of text.
Search within the file for the key-value section named "mkey", which looks like this:
"mkey": {
"encrypted_key": "2e2c3b9b58e9b33c9599b4472e83c136e6246120c45e390daa6a57476e7fbe4f57d83f79d75f9b4c1db680fe5a846cb8",
"nDerivationIterations": 67908,
"nDerivationMethod": 0,
"nID": 1,
"otherParams": "",
"salt": "4593aff5639179c7"
},
You want to send us that entire mkey section, plus several of the address sections that are not funded. (That is, that have the "reserve" key set to "1").
Here's an example:
{
"addr": "1DTqhoX4pP3tRHmWYpdtzp297TKLy4Dhiv",
"compressed": true,
"encrypted_privkey": "9fb55a49934e66092e6f61208c528398785ffc108ad804b92f30bfd799a56e1464b590adebdaffacb3eda0f6b50974d1",
"pubkey": "03f8eb49e0b4c70cfdd28d4cdd4ec0c927575f88d51c70185f01a4397e198c4dd2",
"reserve": 1
},
{
"addr": "1JEtNGakiSeeZDdzGNTrbvBoKp19vhe4Q6",
"compressed": true,
"encrypted_privkey": "ccb73a94081a82c8f98f036028f60b10ec80867c9f2665305ba26768778b1325ed18e85ac841995d52f87da0f3229ecc",
"pubkey": "03f9f8a4df244752c6c9f52fa1fe06747e6e632dc2d03f70aaea8f045865dda707",
"reserve": 1
}
Be sure to delete any of the address blocks that contain funds (ie those with a "label" key instead of a "reserve" key).
Send us the resulting text file.