gurnec / btcrecover

An open source Bitcoin wallet password and seed recovery tool designed for the case where you already know most of your password/seed, but need assistance in trying different possible combinations.
GNU General Public License v2.0
1.24k stars 665 forks source link

btcrecover.py closes immediately after opening it #66

Open whizz3r opened 7 years ago

whizz3r commented 7 years ago

Hey there! i am trying to recover my second blockchain password. i downloaded the wallet as described and created as far as i understand the instructions a tokens.txt file, but i think i screwed it with instructions i put in there.... English is not my first language, but it should be good enough to get things done, i would appreciate any help to get the program running... my created tokens.txt file looked like this (these are of course random numbers/words, not the one i suggest to be mine^^):

#--pause --wallet wallet.aes.json --autosave progress.sav --blockchain-secondpass 

+donkey Donkey

^2^112 221 121 212

^3^! ? !!

i put the tokens.tx file and the wallet.aes.json file in the same folder liker btcrecover.py but when double clicking the btcrecover.py it just shows up for a second and immmediately closes again, obv a failure in the command lin instructions or else... starting he whole process by using the windows command prompt failed totally.

so i did some research again and found a thread in the bitcointalk forum, where an btcrecover-tokens-auto.txt file where posted, which i copy/paste and filled in a few information of my needs, then stored in the btcrecovery direction and started by doubleclicking the btcrecovery.py file and something happend, but not the way i wanted. the btcrecover-token-auto.txt file looked like this:

#--pause --wallet wallet.aes.json --autosave progress.sav

# Starts with donkey (required)
+ ^donkey

# Has at least one 6, one 7, and one other digit (required)
+ 6
+ 7
+ %d

# Has up to one three digits (not required)
%d
%d
%d

i really spent a lot of time trying to understand what to do, the problem is that i am not from the IT area, so it may take a few minutes more for me to understand what exactly to do, but unfortunately i am not able to get this done on my own, i would highly appreciate any help and of course i would donate an appropriate amount in case i can access my wallet again:)

Any help how i can write a script with will def work afterwards would be very helpful. i can provide any information needed to create a working script. my password consits of 6 letters, 2-4 numbers and 1-2 special character. i remember a lot of details, so it should be possible to create at least something...^^ thanks in advance for any help

gurnec commented 7 years ago

You're on the right track. I'll help if I can.

Here's a tokens file example to get you started. It will test donkey or Donkey; and then 2-4 digits; and then 1-2 of the symbols between the square brackets (in that exact order). Does this sound like what you're trying for?

#--pause --wallet wallet.aes.json --autosave progress.sav --blockchain-secondpass

+ ^donkey ^Donkey

^2^%2,4[0-9]

^3^%1,2[!?]

Let me know if you have any questions.

whizz3r commented 7 years ago

thank you very much, with your help it worked out very well and i found the 2fa password i was looking for so far the good news:) for a short time i was super happy and the first thing i wanted to do is sending you btc for your awesome help, but now comes the really confusing part of the story... i visited blockchain.info logged into my wallet via the primary pw and wallet id immediately after that i was asked about the secondary pw which i hopefully recovered with btcrecover.py a few minutes ago and after entering it blockchain says wrong password..?!

How is this even possible, if my blockchain acc has been hacked in the last days/month or years btcrecover would not have been able to find the 2fa pw i was looking for or am i wrong?

the other thing is, when using my desktop pc for entering blockchain.info i am not able to see the amount of btc in the wallet (after entering primary pw), i am always asked about the second one immediately after login and in the background of that window i can see a line which says 0 BTC but i can not say if this is about transactions in the last time or the amount in general, i can only guess...

to make things a little bit more confusing i downloaded the blockchain app on my iPhone, after entering my wallet id i was asked about the primary pw and afterwards i should create a pin on top, so far so good, then a window popped up asking for my secondary pw in order to make a v3 wallet update (not really sure about the details of the update), i entered the recovered pw and again it says wrong, but when i clicked cancel i could see an wallet amount of around 11.7 btc as it should be, then the window popped up again asking for the 2fa pw...

is there any way i can open the downloaded wallet to see how much value it has?

i created the wallet in 2013 when i bought the btc since then i had maybe once tried to login the account, but as i recognized that i can not remember the 2fa pw i tried to forget about the whole mess which was in 2015. In the last week i found new hope with btcrecover and tried again...

any thoughts on this..?^^ is it possible that someone hacked my wallet or is this too much out of the line? there is no chance that someone in real life stole anything (like written down pw´s). i can remember that blockchain itself was totally unhelpful when i tried to reach their support back in 2015 which means they did not even respond, it was about the lost 2fa pw... should i reach out to them? hard to imagine that they are able to help in anyway..

sorry for disappointing you in order to not sending some btc for your help (at least at this moment)

gurnec commented 7 years ago

Perhaps you're confusing the different password types?

The main password you of course know.

Then there's the "second" password - this is the one that btcrecover found (yay!). It's very unlikely that this is incorrect (btcrecover shouldn't ever find false positives for these second passwords).

Finally, there may also be a 2FA password - this is your 2-Factor Authorization password. It's a short code that usually comes from Google Authenticator, or in an email or text sent to you by BC.i.

Are you swapping any of these by chance?

seth1992 commented 7 years ago

Hey there! i am trying to recover my second blockchain password. i downloaded the wallet as described and created as far as i understand the instructions a tokens.txt file, but i think i screwed it with instructions i put in there would appreciate any help to get the program running.. btcrecover-tokens-auto.txt.txt

i put the tokens.tx file and the wallet.aes.json file in the same folder liker btcrecover.py but when double clicking the btcrecover.py it just shows up for a second and immediately closes again, obv a failure in the command in instructions or else... starting he whole process by using the windows command prompt failed totally. please reply as soon as possible thanks in advance

gurnec commented 7 years ago

I think there are two potential problems here.

I think this is the first issue, I could be wrong, but please read this: https://www.reddit.com/r/HashCracking/comments/6l6j2w/help_using_btcrecover/

The second is that your tokens file isn't quite right (the way it is now, it's trying way too many possible passwords), but I can try to help improve it.

To start with, can you give me a few examples of what you think your password might be (what btcrecover should try), and a few examples of using words from the list but in a way you're sure isn't correct (what btcrecover shouldn't try)?

seth1992 commented 7 years ago

it could be as follow doubletriplepowerbomb, tripledoublepowerbomb, romandeanseth, rollinsambrosereigns, thehoundsofjustice, theshield, Theshield, theShield, The@shield3, theshield3, the@shield3 that all i can guess for right know and any that interact with wwe the shield please help and tell me how to make token file i think my token file is mess up

gurnec commented 7 years ago

Try these two separate tokens files (remove the -1 or -2 at the end of each file before trying each). The first file tries everything except for TheShield ones, and the second one is for TheSheild.

For that second one, if you look at the last line, you'll see that it's trying both @ and % symbols in the middle of TheShield. If you want, you can add more symbols here.

Also, it's trying one typo. If you want, you can change the --typos 1 (in the very first line in both files) to --typos 2 to try 2 typos instead.

btcrecover-tokens-auto-1.txt btcrecover-tokens-auto-2.txt (updated)

Good luck!

seth1992 commented 7 years ago

sir i try both of them but it did't working what i should do please help me the problem still is ongoing and i don't know what to do or i am doing something wrong please tell me if possible is there any new version of btcrecover because may it is the old version that i download
cause i think may be you could try it i will send all the data if you say so because my computer might be old and that's the problem

gurnec commented 7 years ago

i try both of them but it did't working

I can't help unless you can describe what isn't working / what happened when you tried.

if possible is there any new version of btcrecover

The most recent version is always available via the green Download link on right side of the GitHub project page (choose "Download ZIP").

i will send all the data if you say so

I am sorry, but I'm not in the business of trying to recover other people's wallets. You may want to search for "wallet recovery services" on Google or visit the HashCracking subreddit if you're interested in paid assistance.

seth1992 commented 7 years ago

the token file you give me yesterday. The problem is still ongoing when i try to run btcrecover,py closes immediately i am tired of this. Can you tell me other way of finding my blcokchain wallet second password. like if get my seed back that can solve the problem? right? please answer thanks.

gurnec commented 7 years ago

if get my seed back that can solve the problem?

Possibly. If you created your wallet sometime after February 2016, you can recover your wallet here with your seed. If you created your wallet before then, and you have the recovery phrase for your second password (which I think is different then the main recovery phrase, but I don't remember...?), you might be able to retrieve your password on this older recovery page.

If you want to troubleshoot using btcrecover, you'll need to get any error messages it's displaying. To do this, please try the following, however the download location (after the cd) may be different.

seth1992 commented 7 years ago

when i try your instruction as follow cd Downloads\btcrecover-master C:\python27\python btcrecover.py i got the error the that say can't open file 'btcrecover.py': error [2] no such file or directory i got my blockchain wallet after 2 february 2016 and i don't have my 12 words recovery phrase i kind of lost it my situation is all mess please try to understand i need my bitcoin back and fast and my last hope is your software can't you send video to instruct me so that i can understand what i am doing wrong or right because i am all mess right now ad thanks again for your support

gurnec commented 7 years ago

Please delete and re-download the latest version of btcrecover - I just made some small updates which will might work around a problem you're seeing, and which will always display error messages when you double-click it to start.

Also, please delete and re-download the btcrecover-tokens-auto.txt files above, I made a mistake in one of them.

Then try to run btcrecover normally again (make sure the btcrecover-tokens-auto.txt and wallet.aes.json files are in the same folder, and then double-click btcrecover.py). You can ignore the stuff about using a Command Prompt window.

seth1992 commented 7 years ago

sir its show this error now btcrecover.py: error: argument --tokenlist or --passwordlist is required press enter to exit ... my question is what does this mean or if this going to bother me in my password recovering process what is this password list is this similar to token list and what about typos and all and this is going to use my internet or not like if my internet connection is disturb and broken then this software gonna run or not please answer my question and thanks

gurnec commented 7 years ago

You neglected to post the entire error message, which is:

argument --tokenlist or --passwordlist is required (or file btcrecover-tokens-auto.txt must be present)

and which is accurate. There is no file named btcrecover-tokens-auto.txt in the folder.

As I said above here, you need to try one of those files at a time, and you need to remove from the filename the -1 or -2 before trying each so that the file being tried is named exactly btcrecover-tokens-auto.txt.

seth1992 commented 6 years ago

Thank for your all help and support i got my password thanks for your btcrecover and your help. i bless you and hope for your success thanks again

gurnec commented 6 years ago

Thank for your all help and support i got my password thanks for your btcrecover

That's great, congrats!

Vamp12 commented 6 years ago

Hello. I'm trying to recover my password for wallet.dat (bitcoin core) I've downloaded btcrecover-master.zip and btcrecover-tokens-auto-2.txt . I've placed the wallet.dat in the same folder, but when I run btcrecover.py it closes right away. please help

sjnesbitt commented 6 years ago

Hello, I have a ledger nano s. I have used the device once to receive bitcoin. The device is set up to use multi-signature SEGWIT (thus transaction address begins with '3'). The nano crashed after I used chrome extension to delete a coin (FIDO) so I could add another coin. It required me to enter passphrase, I did and it says its invalid. I reviewed passphrase for any misspellings (none) switched words from the BIP39 list (my were all on list and no missing letters like 'car' to 'card' etc. thus:

I am trying to setup btrecover.py command line correctly to determine correct passphrase mnemonic. I have no password on this wallet other than ledger pin, thus what would go into --tokenlist or --passwordlist, a null string ""?

So I tried adding "" in tokenlist file. I then ran this command: (with the following results) cat memlist | ./btcrecover.py --tokenlist tokenlist --wallet-type bitcoin --bip32-path "m/44'/0'/0'/0/0" --addrs 0x37eJSQRf2ZGEasFjetGtcPqRVcJEz3Mvwa --addr-limit 1 --mnemonic-prompt Starting btcrecover 0.17.10 on Python 2.7.12 64-bit, 21-bit unicodes, 64-bit ints terminal does not support UTF; mnemonics with non-ASCII chars might not work Please enter your mnemonic (seed)

Traceback (most recent call last): File "./btcrecover.py", line 37, in btcrpass.parse_arguments(sys.argv[1:]) File "/home/steve/Desktop/btcrecover/btcrecover/btcrpass.py", line 3467, in parse_arguments args.language, args.bip32_path, args.wallet_type, args.performance) File "/home/steve/Desktop/btcrecover/btcrecover/btcrpass.py", line 2381, in init mpk, addresses, address_limit, hash160s, path, is_performance) File "/home/steve/Desktop/btcrecover/btcrecover/btcrseed.py", line 577, in create_from_params self._known_hash160s = self._addresses_to_hash160s(addresses) File "/home/steve/Desktop/btcrecover/btcrecover/btcrseed.py", line 208, in _addresses_to_hash160s hash160, version_byte = base58check_to_hash160(address) File "/home/steve/Desktop/btcrecover/btcrecover/btcrseed.py", line 122, in base58check_to_hash160 decoded_bytes = base58check_to_bytes(base58_rep, 1 + 20) File "/home/steve/Desktop/btcrecover/btcrecover/btcrseed.py", line 100, in base58check_to_bytes int_rep += base58_digit_to_dec[base58_digit] KeyError: '0'

Just for info sake: I know that the transaction addresses actually are seen in Ian Coleman's BIP39 tool under BiP49 as m/49'/0'/0'/0/0 (1st derivative address /1 next and so on.) i have written a ruby script based off the work of another coder that will take my passphrase and then switch out one word at a time determining which result will crc and then put the private, public, and extended public keys, but it does not know how to extract the bip49 form addresses (using ruby function MoneyTree to query nodes).

jonathancross commented 5 years ago

@sjnesbitt Segwit is not supported yet.

Everyone else, ignore the example info above, it is full of errors: