I might need to start a new thread in that case if I do.. sorry my friends! I saw this post and am in a similar situation and I am trying every option exhaustingly as I have a similar (more) balance.. with a corrupt wallet from 2012... I too offer a reward for successful results, I am of course trying to learn everything on my own and am not trying to send my wallet (obviously) which makes things as tough as can be of course, anyway i wanted to quote the post concerning the link that took me to (
which is the src/wallet/walletdb.cpp source code.. I have that same type of file (a little different/but same just older) and have been reading about going through the source code to retrieve the "redeem script" or the "derivation method" but first I wanted to ask .. what is that src/wallet/walletdb.cpp specifically? as I don't see any strings but I do see key all over.. and I also read the db can leave bits of unencrypted private keys in the db slack space, I just don't follow direction too well but I will try to follow the mentioned directions to get my wallet back, also wanted to ask (off subject mind racing) my python said "cannot import name 'generator_secp256k1' from 'pycoin.ecdsa" when trying to install bitwalletrecover. anyway hoping to get help with this as I have not asked for help on a forum before but been trying for years to figure it out, guess i finally reached my breaking point for my need to get help with this!!! thankyou for reading and I understand walletrecoveryservices is not trying to help me as I have already tried.. did I not save the right file? did I corrupt it and lose the info I need when I saved it possibly by saving it wrong?
hoping I am not S.O.L!! thankyou for reading I appreciate all and any help, and as I said a successful return of my only hope in the world to not restart my broke ass from scratch will be compensated. CHEERS!
Your unencrypted wallet.dat sounds pretty messed up if not even one 'key' related entry was found.
Take a look at this
https://github.com/bitcoin/bitcoin/blob/48b5b84ee511d5ccd0d47bb0018c1b3c9ddebeff/src/wallet/walletdb.cppThere should be plenty of entries starting or ending with 'key'.
Bro; please share with me you have wallet.dat file in your hand. Also please it is un-encrypted old wallet.dat. Please follow installation on
https://github.com/jackjack-jj/pywalletAfter that please run the as following script:
#!/usr/bin/env python2
import sys
import struct
from bsddb.db import *
from hashlib import sha256
# Dumps the private keys from an unencrypted wallet.dat file.
# Inspired by pywallet.
# Run with Python 2.7.
# Donations: 34rHZwgXDnkKvrBAU2fJAhjySTTEFroekd.
B58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
if not len(sys.argv) == 2:
print("Usage: %s wallet.dat" % sys.argv[2])
sys.exit(1)
def read_size(buffer, offset):
size = ord(buffer[offset])
offset += 1
if size == 0xfd:
size = struct.unpack_from("<H", buffer, offset)[0]
offset += 2
if size == 0xfe:
size = struct.unpack_from("<I", buffer, offset)[0]
offset += 4
if size == 0xff:
size = struct.unpack_from("<Q", buffer, offset)[0]
offset += 8
return offset, size
def read_string(buffer, offset):
offset, string_len = read_size(buffer, offset)
return offset + string_len, buffer[offset: offset + string_len]
def b58_encode(d):
out = ""
p = 0
x = 0
while ord(d[0]) == 0:
out += "1"
d = d[1:]
for i, v in enumerate(d[::-1]):
x += ord(v)*(256**i)
while x > 58**(p+1):
p += 1
while p >= 0:
a, x = divmod(x, 58**p)
out += B58[a]
p -= 1
return out
def b58check_encode(d):
checksum = sha256(sha256(d).digest()).digest()[:4]
return b58_encode(d + checksum)
db = DB()
db.open(sys.argv[1], "main", DB_BTREE, DB_RDONLY)
items = db.items()
for item in items:
k, v = item
koff, voff = 0, 0
koff, item_type = read_string(k, koff)
if item_type == "key":
koff, pubkey = read_string(k, koff)
voff, privkey = read_string(v, voff)
if len(privkey) == 279:
secret = privkey[9:9+32]
else:
secret = privkey[8:8+32]
if pubkey[0] != "\x04":
secret += "\x01"
print(b58check_encode("\x80" + secret))
#print(secret.encode("hex"))
db.close()
You have output compressed private key as like:
KxzTqVvTXB9VJTZ25xZk7yYq4V4gon8HsoTkbADhSUZVe7q5LUeQ
L2TResn8sq2K7NTH8R4SJAhB2Rf4iFEY3WwDGwqHNh3Ya1Y9uDpX
Thanks....
Guess you have to resort to:
https://walletrecoveryservices.com/ afterall.