<p>I think the least &quot;intense&quot; option here would be to look up each of the wallet addresses from your <code>ckey</code> items on a node (i.e. blockchain.info blockchair.com btc.com etc) to see which ones have any value in them.</p>
<p>Once you have a list of the wallet addresses that are &quot;worth recovering,&quot; you will need to take those <code>ckey</code> items' encrypted private keys (possibly along with data from the <code>mkey</code> item) to attempt to manually decrypt/recover your private keys to those wallets.</p>
<p>If you're experienced with programming, you could read through the code from the version of bitcoin core you used in 2014/2015 to figure out how it was encoded. Otherwise, you may need to find an experienced programmer you can trust, to help here.</p>
<p>As a post-note:
Have you tried re-compiling a copy of that older version of bitcoin core on a sandbox system? It's just a try, but maybe the file just got caught by a reverse-compatibility issue!</p>

CC BY-SA 4.0
2021-01-24T18:36:33.083Z
Well sadly, I have no idea what version I used exactly, so I may be out of luck going this way. Reading the code is no problem for me though, but if I have to iterate through all the commits to see what changed and at what point, this may not be so much of a trivial task... I will try to pick one and see if it loads it :)
Magix
CC BY-SA 4.0
2021-01-24T14:56:14.623Z
2021-01-24T14:56:14.623Z
Robherc KV5ROB
<p>As far as I can tell, my old bitcoin wallet got corrupted. It was created in Bitcoin Core in the 2014/2015s, and I'm trying to recover it. Bitcoin Core doesn't accept it anymore (and doesn't give an error message), so I'm trying another way.</p>
<p>I managed to read the contents using walletools (<a href="https://github.com/akx/walletool" rel="nofollow noreferrer">https://github.com/akx/walletool</a>), and here is what I have :</p>
<ul>
<li>a long list of &quot;tx&quot; items, containing mostly binary data</li>
<li>quite a few (probably 50 ish) &quot;ckey&quot; items, with the public key and encrypted private keys</li>
<li>a single &quot;mkey&quot; item, with the 'nID', 'encrypted_key', 'salt', 'derivationMethod', 'nDerivationIterations' and 'otherParams' fields containing data</li>
<li>two &quot;name&quot; items containing 'hash' and 'name' fields</li>
<li>a number of &quot;pool&quot; items with 'n', 'nVersion', 'nTime', and the 'public_key'</li>
<li>lots of empty &quot;keymeta&quot; items</li>
<li>a &quot;version&quot; item : 150001</li>
<li>a &quot;bestblock&quot; item, with a &quot;key&quot; field</li>
<li>a &quot;minversion&quot; item : 130000</li>
<li>a &quot;orderposnext&quot; item (empty)</li>
<li>a &quot;bestblock_nomerkle&quot; item (empty)</li>
</ul>
<p>From there, I imagine the important data is the mkey. What is its encryption algorithm and what Python lib could I use to decrypt it (assuming I remember the password ! ) ?</p>

<wallet><wallet-recovery><encryption>
Recovering my old bitcoin wallet
Magix
# Recovering my old bitcoin wallet

(Asked by: username_0 on 2021-01-24)

As far as I can tell, my old bitcoin wallet got corrupted. It was created in Bitcoin Core in the 2014/2015s, and I'm trying to recover it. Bitcoin Core doesn't accept it anymore (and doesn't give an error message), so I'm trying another way.

I managed to read the contents using walletools (<https://github.com/akx/walletool>), and here is what I have :

* a long list of "tx" items, containing mostly binary data
* quite a few (probably 50 ish) "ckey" items, with the public key and encrypted private keys
* a single "mkey" item, with the 'nID', 'encrypted\_key', 'salt', 'derivationMethod', 'nDerivationIterations' and 'otherParams' fields containing data
* two "name" items containing 'hash' and 'name' fields
* a number of "pool" items with 'n', 'nVersion', 'nTime', and the 'public\_key'
* lots of empty "keymeta" items
* a "version" item : 150001
* a "bestblock" item, with a "key" field
* a "minversion" item : 130000
* a "orderposnext" item (empty)
* a "bestblock\_nomerkle" item (empty)

From there, I imagine the important data is the mkey. What is its encryption algorithm and what Python lib could I use to decrypt it (assuming I remember the password ! ) ?

**Tags:** wallet, wallet-recovery, encryption


---

## 1 answers

### Answer by username_1 on 2021-01-24. Score: 1

I think the least "intense" option here would be to look up each of the wallet addresses from your `ckey` items on a node (i.e. blockchain.info blockchair.com btc.com etc) to see which ones have any value in them.

Once you have a list of the wallet addresses that are "worth recovering," you will need to take those `ckey` items' encrypted private keys (possibly along with data from the `mkey` item) to attempt to manually decrypt/recover your private keys to those wallets.

If you're experienced with programming, you could read through the code from the version of bitcoin core you used in 2014/2015 to figure out how it was encoded. Otherwise, you may need to find an experienced programmer you can trust, to help here.

As a post-note:
Have you tried re-compiling a copy of that older version of bitcoin core on a sandbox system? It's just a try, but maybe the file just got caught by a reverse-compatibility issue!

> **Comments:**
> **username_0**: Well sadly, I have no idea what version I used exactly, so I may be out of luck going this way. Reading the code is no problem for me though, but if I have to iterate through all the commits to see what changed and at what point, this may not be so much of a trivial task... I will try to pick one and see if it loads it :)  

---

