HardCorePawn / multibit_recovery

Python scripts that help with recovering funds from "broken" MultiBit HD and MultiBit Classic wallets due to the "Password did not unlock the wallet" issue
MIT License
22 stars 15 forks source link

I get errors in output #14

Open Willie501 opened 10 months ago

Willie501 commented 10 months ago

Hi HCP, Im working for some time on my mb-wallet using the walletkeys.py now. When I enter the correct pw I get my pub key listed as it is but underneath I get these lines:

'Traceback (most recent call last): File "decrypt_multibit_classic_walletkeys.py", line 240, in wallet = load_wallet(wallet_file, get_password) File "decrypt_multibit_classic_walletkeys.py", line 197, in load_wallet print("Privkey: " + bitcoin.encode_privkey(privkey, 'wif_compressed')) File "C:\Python27\lib\site-packages\bitcoin\main.py", line 224, in encode_privkey return encode_privkey(decode_privkey(priv), formt, vbyte) File "C:\Python27\lib\site-packages\bitcoin\main.py", line 237, in decode_privkey if not formt: formt = get_privkey_format(priv) File "C:\Python27\lib\site-packages\bitcoin\main.py", line 217, in get_privkey_format bin_p = b58check_to_bin(priv) File "C:\Python27\lib\site-packages\bitcoin\main.py", line 427, in b58check_to_bin assert bin_dbl_sha256(data[:-4])[:4] == data[-4:] AssertionError'

What can you say about this, because this is out of my league.

To add some more info: With other (empty)walletfiles and backup-files with pw it all works fine (output provides private keys) also when I use 'extract_mbc_keys', but this wallet is one of a 'provided aes key is wrong' type and seems to have some kind of mismatch. After a lot of reading I notice that all people with the same problem got the same error after receiving some amount of BTC, so my question is: what happens within a locked wallet when receiving BTC, why does the AES key not match anymore?

HardCorePawn commented 10 months ago

File "C:\Python27\lib\site-packages\bitcoin\main.py", line 427, in b58check_to_bin assert bin_dbl_sha256(data[:-4])[:4] == data[-4:] AssertionError

This part of the error message suggests that the checksum of the generated WIF format private key, doesn't match the original checksum from the private key stored in the file

Which is very problematic, because it suggests that the data within the file is likely corrupt :(

If you have a read through this thread: https://bitcointalk.org/index.php?topic=1942459.0

You'll see users having similar issues. From memory, I was never able to find a solution :( It generally seemed that the app was just doing something really screwy when outputting the data to disk. There are links to a couple of pastebin versions of the files that output some extra debugging info... you might want to try one of those and see if you have that 94 char key issue.

If so, then I'm sorry to say that none of my scripts will likely be able to assist, and that I don't know what the solution is.

Willie501 commented 10 months ago

Thanks for your reply HCP, I didn't expect it after all those years... Maybe you're right, maybe you're not. My 2 cents is that this output only happens when a pass is entered which gives the error 'provided aes key is wrong'. Not to make you happy, but for all of us who got this error, I've found another pass which gives me the same error!!! (And that was just some plaine text because I was annoyed). So atm I've got two pw's that give me this error and probably give me the same output/result with the script. (Haven't tried yet). What means to me I just simply still didn't find the right pw or you are right or like I wrote before, something happens/changes within the wallet after receiving some amount of BTC. I say that because I was able to unlock some empty wallets with the pw which should be on the other one as well. I guess nobody knows till someone finds a solution.

n.b. yes I read all the threads over and over...

agentmic487 commented 10 months ago

Thanks for your reply HCP, I didn't expect it after all those years... Maybe you're right, maybe you're not. My 2 cents is that this output only happens when a pass is entered which gives the error 'provided aes key is wrong'. Not to make you happy, but for all of us who got this error, I've found another pass which gives me the same error!!! (And that was just some plaine text because I was annoyed). So atm I've got two pw's that give me this error and probably give me the same output/result with the script. (Haven't tried yet). What means to me I just simply still didn't find the right pw or you are right or like I wrote before, something happens/changes within the wallet after receiving some amount of BTC. I say that because I was able to unlock some empty wallets with the pw which should be on the other one as well. I guess nobody knows till someone finds a solution.

n.b. yes I read all the threads over and over...

Hi mate, are you still having this issue or got it solved? If not you can get in touch with me so we can both get it solved together because a lot of people have come with same complain and it work for them i believe we can solve this together...Don't wait to say hi