Bitcoin Forum
May 14, 2024, 05:15:39 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Looking for a working configuration for a BTCrecover seedlist token file  (Read 954 times)
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 25, 2021, 12:58:15 AM
 #1

Got some Bitcoin in 2012 blah blah blah, read all about it here

https://bitcointalk.org/index.php?topic=5325117.msg56605523#msg56605523

Now that I got BTCrecover running, the last thing I need is to make the working argument and the seedlist token file

tried making one work based off this and it was a no go.

^1^Word1
^2^Word2
^3^Word3 ^4^Word3 ^5^Word3
^7^Word7 ^8^Word7
^7^Word8 ^8^Word8
^9^Word9 ^10^Word9
^9^Word10 ^10^Word10
^11^Word11
^12^Word12

The current argument I have going is

Code:
python seedrecover.py --no-dupchecks --mnemonic-length 12 --language EN --dsw --wallet-type BIP39  --addr-limit 1 --bip32-path --seedlist .\seedtoken.txt

Tried running it without the token with additional argument and it gave me a 36 hour eta just counting possibilities and at 6 hours it was at 7 billion.

The seedlist token is the only way to be sure I'm doing it right if I do let it run for days or weeks. Let me know if you have any insight how to configure the seedlist token file correctly

1715663739
Hero Member
*
Offline Offline

Posts: 1715663739

View Profile Personal Message (Offline)

Ignore
1715663739
Reply with quote  #2

1715663739
Report to moderator
1715663739
Hero Member
*
Offline Offline

Posts: 1715663739

View Profile Personal Message (Offline)

Ignore
1715663739
Reply with quote  #2

1715663739
Report to moderator
1715663739
Hero Member
*
Offline Offline

Posts: 1715663739

View Profile Personal Message (Offline)

Ignore
1715663739
Reply with quote  #2

1715663739
Report to moderator
The block chain is the main innovation of Bitcoin. It is the first distributed timestamping system.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
March 25, 2021, 09:50:18 AM
Merited by ABCbits (2)
 #2

The current argument I have going is

Code:
python seedrecover.py --no-dupchecks --mnemonic-length 12 --language EN --dsw --wallet-type BIP39  --addr-limit 1 --bip32-path --seedlist .\seedtoken.txt
You haven't specified what it is going to check against. You either need to provide a known address using the argument:
Code:
--addrs bc1YOURADDRESSHERE

Or provide it with an address database using the argument:
Code:
--addressdb ./PATH/DATABASEFILE.db

You also haven't specified a BIP32 path. Is it a P2PKH, P2SH, or P2WPKH wallet? If you want to check all of them, then leave out the --bip32-path argument as by specifying --wallet-type BIP39 it will automatically check all three. If you want to specify to only check one, then after --bip32-path you need to add "m/xx'/0'/0'/0" (including " at start and end), and replacing xx with 44, 49, or 84 respectively.

See the usage examples on this page: https://btcrecover.readthedocs.io/en/latest/Usage_Examples/2020-05-02_Descrambling_a_12_word_seed/Example_Descrambling_a_12_word_seed/
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 25, 2021, 05:21:39 PM
 #3

The current argument I have going is

Code:
python seedrecover.py --no-dupchecks --mnemonic-length 12 --language EN --dsw --wallet-type BIP39  --addr-limit 1 --bip32-path --seedlist .\seedtoken.txt
You haven't specified what it is going to check against. You either need to provide a known address using the argument:
Code:
--addrs bc1YOURADDRESSHERE


Or provide it with an address database using the argument:
Code:
--addressdb ./PATH/DATABASEFILE.db


You also haven't specified a BIP32 path. Is it a P2PKH, P2SH, or P2WPKH wallet? If you want to check all of them, then leave out the --bip32-path argument as by specifying --wallet-type BIP39 it will automatically check all three. If you want to specify to only check one, then after --bip32-path you need to add "m/xx'/0'/0'/0" (including " at start and end), and replacing xx with 44, 49, or 84 respectively.

See the usage examples on this page: https://btcrecover.readthedocs.io/en/latest/Usage_Examples/2020-05-02_Descrambling_a_12_word_seed/Example_Descrambling_a_12_word_seed/

Good to see you Oeleo.

I've ran the argument and it appears to automatically default to the 8 GB address database that's generated from the bitcoin block. I'll include that portion of the argument if needs be.

This seed was made in Jan 2012 & it does seem I should include the bip32 path since it seems I was using Electrum only as a utility to look at things and to make the seedlist using bip39 EN words, nothing else.

python seedrecover.py --no-dupchecks --mnemonic-length 12 --language EN --dsw --wallet-type BIP39 --addr-limit 1 --bip32-path  Huh m/44? 49? 84?'/00'/0'/0 Huh --seedlist .\seedtoken.txt

But now the seedlist tokenfile aspect is the most troubling. Already tried the --seedlist --listpass tests with no luck. When I tried to include the seedlist, I got it to give me an ETA only once out of a week of attempts. Other than that it went kaput in a second.

I'll keep working on this as most of the hard work is done, now it's just a matter of dotting and crossing the I's & t's.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
March 25, 2021, 05:59:49 PM
 #4

I've ran the argument and it appears to automatically default to the 8 GB address database that's generated from the bitcoin block. I'll include that portion of the argument if needs be.
Ah, ok. I didn't realize it has this functionality. If it seems to be working, then leave this out.

This seed was made in Jan 2012 & it does seem I should include the bip32 path since it seems I was using Electrum only as a utility to look at things and to make the seedlist using bip39 EN words, nothing else.
In which case, just remove the --bip32-path argument. As long as you include --wallet-type bip39, it will automatically search the most common derivation paths for legacy, nested segwit, and segwit address, which includes m/44' 49' 84'/0'/0'/0.

See here:
By default, seedrecover.py will check the first account of each address type using common derivation paths for BIP39 wallets. (BIP39 will default to Bitcoin if no coin is specified)



Can you share the tokenlist file you used when it successfully gave you an ETA? (With your words obfuscated, obviously).
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 25, 2021, 07:02:08 PM
 #5

So my 12 word seed is based off knowing the first 2 words and their positions. The next 4 words are the most vague but I do know ONE of them for sure, just not sure which exact position. I know position 6 is a standalone word and NOT the known word. This is the format I was working with

Code:
^1^Word1
^2^Word2
^3^Word3 ^4^Word3 ^5^Word3
^7^Word7 ^8^Word7
^7^Word8 ^8^Word8
^9^Word9 ^10^Word9
^9^Word10 ^10^Word10
^11^Word11
^12^Word12

BTCrecover is very unforgiving but for good reason. I had to account for every space and make sure nothing wasn't there unless it had a reason. A simple blank space left after a seed word, wouldn't even budge. I clear the lines up and it made every bit of difference

But in this process it halts as soon as I get to line 3

Keyerror: ^3^Word3

Haven't even gotten to the 7-10 lines but it seems to hang up on the way it's appears to be locked on word 3 as it's uncertain where it should be and I need to give it other words to process.

I'm trying to give it the command to include the known word in those first 3 spots then let it fill in the others randomly.

If I need to I can run the known word in different positions in several standalone tokens and let BTCrecover sort out the others but I wanted to do a single inclusive routine for my own sanity sake.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
March 25, 2021, 08:45:45 PM
 #6

Okay, I've been able to play around with this and I've got it working on my device. Here's what I needed to change from your set up.

First of all, your tokens file has to have exactly 12 lines in it. If you have 3 missing words in your seed phrase, then you must include 3 lines at the end, each line of which contains the entire BIP39 list of 2048 words separated by a space.

Secondly, you need to replace the --seedlist command with the --tokenlist command. The seedlist command treats every individual line of your tokens file as a complete seed phrase. The tokenlist command treats every individual line of your tokens file as one potential word contributing to your seed phrase.

I also removed the --bip32-path argument as I stated above.

So all in, my command looked like this:
Code:
python seedrecover.py --no-dupchecks --mnemonic-length 12 --language EN --dsw --wallet-type BIP39 --addr-limit 1 --tokenlist .\seedtoken.txt

And my tokens file looked like this:
Code:
^1^Word1
^2^Word2
^3^Word3 ^4^Word3 ^5^Word3
^7^Word7 ^8^Word7
^7^Word8 ^8^Word8
^9^Word9 ^10^Word9
^9^Word10 ^10^Word10
^11^Word11
^12^Word12
abandon ability able about above absent absorb abstract absurd abuse access accident account accuse achieve acid acoustic acquire across ...
abandon ability able about above absent absorb abstract absurd abuse access accident account accuse achieve acid acoustic acquire across ...
abandon ability able about above absent absorb abstract absurd abuse access accident account accuse achieve acid acoustic acquire across ...

Try that out and let us know how it goes.
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 25, 2021, 09:15:43 PM
 #7

So I modified the seedtoken.txt file to include only 12 lines.

9 lines of

^1^Word1
^2^Word2
^3^Word3 ^4^Word3 ^5^Word3
^7^Word7 ^8^Word7
^7^Word8 ^8^Word8
^9^Word9 ^10^Word9
^9^Word10 ^10^Word10
^11^Word11
^12^Word12


and the next 3 lines of the entire bip39 wordlist. Even with wordwrap off and all the words creating more lines, notepad still lists at the bottom "Ln 12 Col 38979" for the template

I used the argument with the changes to "--tokenlist" and it gave me the following

AttributeError: 'Namespace' object has no attribute 'keep_tokens_order'



I think we're getting close  Grin Cheesy Tongue
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
March 25, 2021, 09:32:02 PM
 #8

AttributeError: 'Namespace' object has no attribute 'keep_tokens_order'
That's a bug with older versions. Just update to the master branch. https://github.com/3rdIteration/btcrecover/issues/121#issuecomment-776299682
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 25, 2021, 11:34:11 PM
Merited by o_e_l_e_o (2)
 #9

I just copied the python.py file, seedtoken.txt and the addresses file to the new and latest version of btcrecover. It's running. Using the seedtoken.txt file. NO hangups. Counting passwords and got an ETA.

Thanx for sticking it with me.  Cheesy
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 26, 2021, 05:14:50 AM
Last edit: March 26, 2021, 08:01:11 AM by kauai_lost_boi
 #10

I hit a wall. The ETA was counting slowly from 3 minutes all the way up to 33 minutes over hours of time.

I was getting 100k new addresses every .25 seconds then after hours of building, it shortened to 100k every 20 seconds. After getting to 151 million, it stalled and didn't move for hours.

Started another cmd line and let it run for a couple hours, then both started working together

I'll let them both run overnight and see if anything results from not touching it.
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 26, 2021, 05:34:54 PM
Last edit: March 26, 2021, 06:58:26 PM by kauai_lost_boi
 #11

So it's morning and I've got over 450 million passwords so far. At last nights ETA was about 40 min. Now it's at 2 hours and counting. After a few more hours both cmd lines hung up again like it did yesterday. Not too worried and I'm not seeing billions of passwords in the future. Was averaging 100k new passwords every .5 seconds.

So is this the normal and expected way for this to function?
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
March 26, 2021, 07:57:20 PM
 #12

So is this the normal and expected way for this to function?
No, and I'm not sure why it is taking that long. Given that there are 3 possible configurations for Word3, 2 for Word7/8, 2 for Word 9/10, and 2048 each for Words 4, 5, and 6, then you are going to have just over 103 billion possible seed phrases to try. If it's has only managed to count (let alone attempt) 0.5 billion of them in 24 hours, then you are going to be waiting a long time.

You could try running the whole command again with the additional argument of --no-eta, which should skip the "counting" step and go straight to the brute forcing step.
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 26, 2021, 08:32:36 PM
Last edit: March 26, 2021, 09:51:26 PM by kauai_lost_boi
 #13

OH boy... discovered the botch when trying to run it with no eta. My token file was correct, except the bottom 10 11 and 12th lines that had the bip39 wordlist. I had combined 3 in one so I was running 9 wordlists with "abandonzoo" conjoined. So I fixed the tokenfile and I'm currently running the argument with no eta.

Got 24 worker threads running and processing at a rate of 19.7 kP/s. 100 billion possibilities. At current processing time that's about 2 months right? Isnt the end of the word I guess   Cheesy Grin Cool
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 27, 2021, 12:36:03 AM
Last edit: March 27, 2021, 04:16:01 AM by kauai_lost_boi
 #14

Had to shut it down. 2 whole months running this thing is just too long. I believe I can narrow things down by one more step at least


^1^Word1
^2^Word2
^3^Word3 ^4^Word3 ^5^Word3
^7^Word7 ^8^Word7
^7^Word8 ^8^Word8
^9^Word9
^10^Word10
^11^Word11
^12^Word12

If I was to give definitive locks to words 9 and 10,

POSSIBLY lock 7 and 8

and only work with the 4 spaces with the one known word,

what would that do for my time table? I believe some of those would be an easy confirmation after a night or 2 worth of work.

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
March 27, 2021, 08:44:35 AM
 #15

If I was to give definitive locks to words 9 and 10,

POSSIBLY lock 7 and 8
By locking 9 and 10, you cut the number of possibilities in half. By locking 7 and 8, you cut it in half again. Doing both of these would take it down to 25.77 billion possibilities, which at your speeds would be around 15 days to exhaust the entire space (although bear in mind that the law of averages says you would find your seed phrase on average after 50% of this time, provided your seed phrase would be found by this tokensfile configuration at all).

By far the biggest contribution to your number of possibilities is the 3 unknown words. Each of those has 2048 possibilities, meaning 20483 = 8.59 billion possibilities just for those 3 words.
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 27, 2021, 07:31:01 PM
Last edit: March 27, 2021, 07:50:21 PM by kauai_lost_boi
 #16

I'm currently running a routine as if everything is locked except the 4 spots with the one known word in the 3 spots. I could reduce that to 2 spots if I want to be ambitious. I am currently at 1.845 billion possibilities and still counting.

I am 90% certain spots 9 and 10 are a lock. 7 and 8 are known but could be reversed.

I wish I could be more specific with spots 3-6 but at least I know one word.

Thanx again for helping me along in this mess. I hope the popcorn has been enjoyable.  Cheesy Grin Tongue
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 28, 2021, 01:12:31 AM
 #17

I was 2 billion + passwords up, then the Win 10 OS crashed. I may be better off trying to run this in Linux since Win 10 is as stable as my X girlfriend

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
March 28, 2021, 11:21:01 AM
 #18

I was 2 billion + passwords up, then the Win 10 OS crashed. I may be better off trying to run this in Linux since Win 10 is as stable as my X girlfriend
Lol, but what a nightmare!

When you start running it again, include the argument --autosave savefile. This will make btcrecover save its progress with your tokenlist every 5 minutes or so. If it crashes again, then with the same tokenlist and the savefile you can pick up where you left off without having to start again as you are going to have to do now.

See here for more info: https://btcrecover.readthedocs.io/en/latest/TUTORIAL/#autosave
kauai_lost_boi (OP)
Jr. Member
*
Offline Offline

Activity: 56
Merit: 19


View Profile
March 28, 2021, 11:05:53 PM
 #19

So it did it again in likely the exact same spot of 2.8 billion.

Now I'm trying to work out where to stick the --autosave command in the argument. Could use some extra insight and common sense as my brain is migrating towards my sledgehammer at the moment.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
March 29, 2021, 08:37:42 AM
 #20

Ahh, my bad. I just tried to use the autosave feature on mine and couldn't get it working either. On closer inspection, it seems it is only implemented for btcrecover (for passwords) and not for seedrecover (for seed phrases). There is an open GitHub issue about it, but it has not yet been implemented: https://github.com/3rdIteration/btcrecover/issues/45

I guess the best option for you then is going to be to simplify the tokenlist file as much as possible, and run it multiple times. So lock Word3 in to position 3, for example, and run that to completion. If no matches, then change Word3 to position 4, and go again. And so on.
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!