user34064: My only one backup of encrypted wallet is corrupted (last time when backed it up i probably didn't shutdown bitcoin-qt), with hex editor i found in it:

mkey
ckey (117 that looks fine)

Does this enough for recovering my private keys? at least 117 of them?
How can i do this?
PS
Already tried pywallet without success:
ERROR:root:Couldn't open wallet.dat/main
Bitcoin-qt: wallet.dat corrupt, salvage failed

user34064: Found out that pywallet has recovery feature, and it worked:
Created 1GB FAT32 partition on flash drive(/dev/sdb1 in my case), copied corrupted wallet.dat on it and run:

nyaa@ubuntu:~/github/pywallet$ sudo ./pywallet.py --recover --recov_device /dev/sdb1 --recov_size 1Gio --recov_outputdir /home/nyaa/
...
All the found encrypted private keys have been decrypted.
The wallet is encrypted and the passphrase is correct

One of change addresses with all bitcoins on it was there!

34064: <p>My only one backup of encrypted wallet is corrupted (last time when backed it up i probably didn't shutdown bitcoin-qt), with hex editor i found in it:</p>

<ul>
<li>mkey</li>
<li>ckey (117 that looks fine)</li>
</ul>

<p>Does this enough for recovering my private keys? at least 117 of them?</p>

<p>How can i do this?</p>

<p><strong>PS</strong>
Already tried pywallet without success:
<code>ERROR:root:Couldn't open wallet.dat/main</code>
Bitcoin-qt: <code>wallet.dat corrupt, salvage failed</code></p>
 34064: <p>Found out that <a href="https://github.com/jackjack-jj/pywallet" rel="nofollow">pywallet</a> has recovery feature, and it worked:</p>

<p>Created 1GB FAT32 partition on flash drive(/dev/sdb1 in my case), copied corrupted wallet.dat on it and run:</p>

<p><code>
nyaa@ubuntu:~/github/pywallet$ sudo ./pywallet.py --recover --recov_device /dev/sdb1 --recov_size 1Gio --recov_outputdir /home/nyaa/
...
All the found encrypted private keys have been decrypted.
The wallet is encrypted and the passphrase is correct
</code></p>

<p>One of change addresses with all bitcoins on it was there!</p>
