Giter Site home page Giter Site logo

3rditeration / btcrecover Goto Github PK

View Code? Open in Web Editor NEW

This project forked from madacol/btcrecover

554.0 554.0 178.0 50.9 MB

BTCRecover is an open source wallet password and seed recovery tool. For seed based recovery, this is primarily useful in situations where you have lost/forgotten parts of your mnemonic, or have made an error transcribing it. (So you are either seeing an empty wallet or gettign an error that your seed is invalid) For wallet password or passphrase recovery, it is primarily useful if you have a reasonable idea about what your password might be.

Home Page: https://btcrecover.readthedocs.io/

License: GNU General Public License v2.0

Shell 0.03% Python 96.87% C 2.57% Makefile 0.16% Jupyter Notebook 0.35% Dockerfile 0.01% Roff 0.01%
bip39 bitcoin btc cryptocurrency eth ethereum ledger litecoin ltc mnemonic mnemonic-phrase trezor wallet

btcrecover's People

Contributors

3rditeration avatar brunocalmels avatar christophcaina avatar ctrlcctrlv avatar cwm9cwm9 avatar dderder avatar feedthedogs avatar ghallak avatar gurnec avatar hashengineering avatar jonathancross avatar lunarpool avatar madacol avatar mrmookie avatar mwl93 avatar olso avatar pbillodeau avatar rvwoens avatar serprex avatar shorena avatar timmygee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

btcrecover's Issues

Need calculate probabilities of seedrecover!

I had run seedrecover on my pc with options
--no-dupchecks --mnemonic-lenght 24 --typo 3 --big-typs 3 --addr-limit 2

Can someone please tell me how many probabilities is going to be counted ?

It's already counted 52.7 billion so far, and i think my case's fan already died on this(it's not spinning amy more) ๐Ÿ˜ž, i want to know how much its suppose to count? And is it reasonable to let it go further or should I turn it off now?

Allow creation of Address Database from a file of addresses

Hello!
I have my own list of addresses that I want to use as an AddressDB File. (Text sorted list of addresses or a list hash160s of them).
Can I fast somehow convert it into a * .db file, suitable for use with seedrecovery.py?
Maybe 'hash160_of_addresses.txt | xxd -r -p 'or something else?
Thanks

Enhance --workers functionality to allow for better load balancing

As it stands, the --workers command allows you to evenly divide work across N devices, with each device responsible for testing 1/N of the potential guesses.

Given the range in CPU power available today if someone owns say, 2 laptops and a desktop PC, it would make sense to enhance this to allow the assignment of multiple slices of the total job. (Eg: for above situation, each laptop might handle 1/4 of the job and the desktop handle 2/4)

LAST SEED WORD - URGENT FEATURE

Hello, I had seen that the BTCRECOVER does NOT have a checksum match for the last word.This means that if I lost the 3 or 4 last words from a seed phrase, the last word will always be bruteforced using the entire bip39 dictionary.
Instead of this to happen, it should only fill the checksum word at the end.This will speed up the process a lot.

I call this video as an example https://www.youtube.com/watch?v=Rp9n53XM3RI&list=PL7rfJxwogDzmd1IanPrmlTg3ewAIq-BZJ&index=12&t=149s

Here the 24 is a checksum, there is no need to check the entire dictionary on it.

Why this feature is a must?

We are narrowing the last word cracking possibilites.This will help in cracking 3 or even 4 lost seeds in a good amount of time

EDIT:
I will attach this resource.Take a look at it https://github.com/gitzhou/mnemonic-last-word
https://www.reddit.com/r/Bitcoin/comments/c82urq/how_to_manual_bip39_last_word_calculation_when/

EDIT2: As implementation, you can consider to make a check evvery time you generate 1 seed word if the checksum is correct, then you will put it in array.

EDIT3: I had personally tried the method of taking the whole seed combination and check if they are valid using a checker.The process is too slow.
Another ideea is to generate the first 11 words and the software will generate a checksum combinations for the second one.I don't know if this will make btcrecover faster or not

Add --workers to documentation, add usage example for case of using multiple PCs for recovery

The password guessing process is "deterministic". Basically what that means is that every PC will work through the same seeds in the same order, just at different speeds.

What you can do is use the --worker argument that will split the work across as many devices as you like. (Basically if you have two devices, so --worker 1/2 (for device 1) and --worker 2/2 (for device 2), they will just work through the same list of guesses, with one handling the even guesses and one handling the odd ones, etc...) The main catch with this is that they will all start at the beginning and work their way through from there, so you really need to work out how many workers you want to use before you start, as you can't really just add a second worker in half way through unless you use the --skip command and manually work out how far in your want a given device(s) to start.

I just noticed that this isn't covered at all in the documentation, so I will add a usage example that covers this sort of situations

Add --guesslimit (or similar) command

This would basically function as an opposite of --skip.

Useful if using things like listseed or listpass for debugging. (eg: to be able to only output the first 10 results)

File "seedrecover.py", line 40, in <module>

C:\btcrecover>python seedrecover.py --no-dupchecks --addr-limit 1 --bip32-path "m/49'/0'/0'/0" --big-typos 3 --dsw --mnemonic-length 24 --addressdb D:\addressesDB\addresses-BTC.db --no-eta

Starting seedrecover 1.2.0, btcrecover 1.2.0-Cryptoguide on Python 3.8.2 32-bit, 21-bit unicodes, 32-bit ints
Loading address database ...
Traceback (most recent call last):
  File "seedrecover.py", line 40, in <module>
    mnemonic_sentence, path_coin = btcrseed.main(sys.argv[1:])
  File "C:\btcrecover\btcrecover\btcrseed.py", line 1856, in main
    createdAddressDB = create_from_params["hash160s"] = AddressSet.fromfile(open(args.addressdb, "rb"))
  File "C:\btcrecover\btcrecover\addressset.py", line 273, in fromfile
    config = ast.literal_eval(header[magic_len:config_end].decode())
  File "C:\Python27\Python37\lib\ast.py", line 59, in literal_eval
    node_or_string = parse(node_or_string, mode='eval')
  File "C:\Python27\Python37\lib\ast.py", line 47, in parse
    return compile(source, filename, mode, flags,
  File "<unknown>", line 1
    {'_hash_bytes': 4, 'version': 1, '_null_addr': '\x00\x00\x00\x00\x00\x00\x00\x00', '_bytes_per_addr': 8, '_len': 577540263, '_max_len': 805306368, '_hash_mask': 1073741823, '_dbLength': 1073741824, '_table_bytes': 8589934592L, 'last_filenum': 1863}
                                                                                                                                                                                                                                    ^
SyntaxError: invalid syntax

Using custom wordlist

Hi
I wanted to know if there is a way of using a reduced wordlist for the scenario in which you are sure of which words are NOT part of your seed. For example, bip39 has a total of 2048, but if I review all those 2048 (which is not so crazy) I might come up with a reduced list of 100 words that I think might be part of the seed. Is there a way of limiting the search on that 100 words list?

(I tried replacing "bip39-en.txt" by a new txt with 600 words that are of the bip39 list but it will throw a "AssertionError: BIP39 wordlist has 2048 words" error.

Seed list ??

Looking for the best way to make a seed list to recover a passphrase with btcrecover. Its a 12 word pass phrase where 3 words are known and there positions. The issue is I have 24 words but only need 12 the passphrase was spilt into 2 for better security, not my greatest idea. I know the 1st, 5th and 12th word 100%. 10 words from 1 group words are known but not the position, and 11 words are known but not the position from the second group. I was thinking if there was a way to spilt these up so that bct recover only pulls 4 words from group 1 set of words and 5 words from group 2 words.
This is what I tried
Ex:

  • ^1^ 1 word
  • ^5^ 5 word
  • ^12^ 13 word
  • 2 3 4 6 7 8 9 10 11
  • 2 3 4 6 7 8 9 10 11
  • 2 3 4 6 7 8 9 10 11
  • 2 3 4 6 7 8 9 10 11
  • 14 15 16 17 18 19 20 21 22 23 24
  • 14 15 16 17 18 19 20 21 22 23 24
  • 14 15 16 17 18 19 20 21 22 23 24
  • 14 15 16 17 18 19 20 21 22 23 24
  • 14 15 16 17 18 19 20 21 22 23 24
    In the example the 1 through 24 are just place holders for the actual words.

Is there a way to make btcrecover only pull one word from each line without duplicating a word. I tried this example and was getting many duplicate words from each group.
Example of seed phrase I was getting from the above seed list.
Ex: (1) 3 7 13 (5) 3 16 24 7 8 15 (13) (words in parenthesis are known words in correct positions).

If the example seed list wood pull 1 word from each line without duplicating the word I believe it would reduce the total passphrases need to be checked and result in the possible recovery of this wallet. I open to any ideas.

Can't generate passwords from $ token

Like the title says, i am unable to generate passwords with $

tokens file:
$
@
4

command:
python3 ../btcrecover.py --token tokens --listpass

output:
@
4
4@
@4

no $ present in combinations,
how can i solve it?

Improve Output when a result isn't found so that output is more useful than simply "Password search exhausted" or "Seed Not Found" (Add more descriptive message, point to documentation with some steps to try)

Hello,
First of all i want to thank for migrating this to python3 and supporting blockchain v3
so my problem like the title says is that i am feeding with a password list that contains a valid password for my json encrypted wallet and i am receiving Password search exhausted

but i tried to use extract-blockchain-second-hash.py with the same valid password and it was working

but how can i make the btrecover.py to work and give me a success answer,
thank you in advance

python3 extract-blockchain-second-hash.py ../my.aes.json
(note your password will not be displayed as you type)
Please enter the Blockchain wallet's main password:
Double encryption with a second password is not enabled for this wallet

password search exhausted

Wallet difficulty: 25,000 SHA-512 iterations
Using 4 worker threads
64 of 64 [##########################################################] 0:00:03,
Password search exhausted

C:\btc2\btcrecover-master>btcrecover.py --wallet wallet_rec.dat --tokenlist tokens.txt

check with --tokenlist tokens.txt --listpass and my password is there

New option

Hello, very thanks for u work!! can u add target list address (.txt) file? 1 address per line. And use random mode generation seed (mnemonic) all 12 words random, thanks. Very need This option from GPU. please please do it. so that you can add all addresses with balances, and randomly generate seeds to them...

Sequence of words

Hello, i have seed (12 words) randomly
1-3-6-10-2...-4 etc
words are correct, how to restore valid phrase 1-12 ?

Can't recover Electrum 1.x seeds using Seedlist or Tokenlist, Electrum 1.x seeds don't work with AddressDB Recovery

When trying to recover Electrum 1.x seeds from either a seedlist or tokenlist, I get this error:
WalletElectrum1 does not support the lang option
If I remove the --language en option, I get this error instead:
Error: Language needs to be specificed if using tokenlist or passwordlist
Here is the command I was using:
$ python seedrecover.py --dsw --wallet-type electrum1 --addressdb addresses.db --addr-limit 1 --seedlist seeds.txt --mnemonic-length 12 --language en
If I replace "electrum1" with "electrum2", it seems to work.

GPU search does not work

Using GPU shows wrong number of operations and does not find password:
`$ python3 btcrecover.py --wallet=wallet.dat --tokenlist=test.txt --dsw --no-eta --enable-gpu

Starting btcrecover 1.2.0-Cryptoguide on Python 3.6.9 64-bit, 21-bit unicodes, 64-bit ints
btcrecover.py: warning: --no-eta without --no-dupchecks can cause out-of-memory failures while searching
Wallet difficulty: 277,932 SHA-512 iterations
2020-06-14 16:28:47 : Using 2 OpenCL devices:
ALL | GPU GeForce GTX 1070 Ti
ALL | GPU GeForce GTX 1070 Ti
| 275222 elapsed: 0:00:03 rate: 69.59 kP/s
Password search exhausted

$ python3 btcrecover.py --wallet=wallet.dat --tokenlist=test.txt --dsw --no-eta

Starting btcrecover 1.2.0-Cryptoguide on Python 3.6.9 64-bit, 21-bit unicodes, 64-bit ints
btcrecover.py: warning: --no-eta without --no-dupchecks can cause out-of-memory failures while searching
Wallet difficulty: 277,932 SHA-512 iterations
2020-06-14 16:28:57 : Using 12 worker threads

  • 2 elapsed: 0:00:00 rate: 5.96 P/s

If this tool helped you to recover funds, please consider donating 1% of what you recovered, in your crypto of choice to:
BTC: 37N7B7sdHahCXTcMJgEnHz7YmiR4bEqCrS
BCH: qpvjee5vwwsv78xc28kwgd3m9mnn5adargxd94kmrt
LTC: M966MQte7agAzdCZe5ssHo7g9VriwXgyqM
ETH: 0x72343f2806428dbbc2C11a83A1844912184b4243

Find me on Reddit @ https://www.reddit.com/user/Crypto-Guide

You may also consider donating to Gurnec, who created and maintained this tool until late 2017 @ 3Au8ZodNHPei7MQiSVAWb7NB2yqsb48GW4

Password found: '111'`

for tokenlist:
`

  • ^1^1
    1
    1
    `

password hash: YmM6Z3JBH5FuxI4myS9+eI0KM66zfPX3ibGodvQQRzr41W+bpAISYTR5okw4BAAyym07

Searching randomly instead of in order (continuously)

I assume that based on the various parameters and inputs the search is conducted in a completely predictable order (i.e. if the same search for the missing words of a 12/24 word seed is performed twice, then the same combinations will be tried in the exact same order). I was wondering how to search in a randomized order (or something that resembles that).

For example, if I estimate there are 100 Billion combinations for my search of the above missing words but I estimate I only have time/resources to search for 1B out of the 100B, then is there a way to search in some random way (non-ordered, non-continuous) so that my 1B of searched combinations are somewhat spread throughout the 100B total combinations? I.e. not 1B combinations all at the start, and not 1B all in the middle or end, or even starting at a specific number and proceeding continuously, but instead spread reasonably randomly?

In the above example, if 1B combinations are searched "in order / continuously", all of them might start with the same word because e.g. 3B combinations start with that word. I would like the option to search in a way that keeps shuffling stuff so that the searches are not concentrated to any particular word but spread to all of the eligible words (based on the parameters etc).

If currently not possible (or you prefer not to add this functionality), could you suggest some way to achieve some similar effect manually (e.g. by doing multiple smaller searches or using tokenlists creatively etc)?

Password search exhausted

I have a Trezor. I have the correct 24 seed phrase. I have a 25 pass phrase that I somewhat remember. I am running python btcrecover.py --bip39 --tokenlist tokens.txt --max-token 5

My password is in the tokens.txt file which contains only one line. It searches and the password search is exhausted and does not find the password.

The address I am using has a "3" in front so I imagine it is a segwit address. I am using 10 as the number of addresses to search. I am confident my 24 seed is correct. Can you help guide me?

CLIENT SERVER - SCALABILITY FEATURE

@jonathancross

I just finished designing one of the best feature that BTCRECOVER needs:

Here is my scenario: I try to bruteforce a 12 word seeds where I know the order but I don't know 3 seed words.Well, let's say I have a verry slow computer, but I may rent some Vps.Right now with this version of seedrecover.py I can only run 1 instance of let's say 48 core linda node.It would take maybe a day or 2 to crack 8,589,934,592 seed keys.Well, maybe that's ok, but let's see if we can do things different:

What if there is an update that will allow to run a server on my pc and some slaves on the VPS like this:
python3 seedrecover.py --no-dupchecks --mnemonic-length 12 --language EN --dsw --wallet-type BIP39 --addr-limit 6 --addrs 3HX5tttedDehKWTTGpxaPAbo157fnjn89s --tokenlist test.txt --listen 9999 --use-this-computer false --number-slaves 3

Output:

2020-06-05 16:06:54 : Starting server...
2020-06-05 16:06:54 : Please run the following command on the other machines: python3 seedrecover.py --connect IP:9999
2020-06-05 16:06:54 : Seed Generator will start after 3 machines are connected

Then after we run python3 seedrecover.py --connect IP:9999 on the 3 VPS(Note that we have specified there the nr of slaves aka VPS Machines required to start this), the server will start generating combinations and distribute seeds combinations equally to their slaves in form of small chunk data.

ADVANTAGES:

1)Imagine the use of Gpu Miners as wallet crackers and also as seed crackers.With this you can extend the btcrecover module as much as the hardware permit.THIS IS THE MAIN USE OF THIS FEATURE.People can use their old laptops and other computers in their house and in total gain several cpu power(and also gpu).

2)MEMORY ISSUES Solved: Yeah, right, your computer may only have 4 Gb of ram, it sucks.Now, if you run the server, the memory won't get overloaded as there is no need to store the seeds on the master server.However you may consider doing --use-this-computer true while you set up the server.In this case the server won't get loaded with the combinations that were sended to the slaves.It will load only the seeds needed only on the server.

3)Output: In the current version you will manually need to configure btcrecover on multiple machines.Moreover you will always need to check the response on multiple windows.With this feature you can have all the statistics displayed on the server console.Everything from performance ,eta status/machine, and many other including the correct seed phrase

FUTURE UPDATES:

Le's see how far can we go:

1)You can update this with a feature that will benchmark each individual slave and the server will distribute the number of combination based to the computer performance.In this way you can add your old 4 cpu laptop and also a 48 core processor machine.The server will distribute the combination based to their performance(In this case the 48 core will take most of the words).

2)Another nice update would be to connect the slaves AFTER the combination list is finished.Let's say it may take 4-5 hours to make a combination list.If we plan to crack on 48 core Linda nodes, it may be costly as you would need to wait 4-5 hour just to generate the list(5$/node).So this can work in the following way:

-Server Generates the List
-Server Finish Generating The List: OUTPUT: X Total Seed Combinations.Waiting to connect the 3 slaves now(number specified by --number-slaves 3)
-User now will start each VPS then it will run the connection command
-The server will separate the seedlist into small chunks then it will start sending them to the slaves

You are the only one maintaining btcrecover for now.This feature will make the best bruteforcer tool ever made.I don't think is hard to implement as the cracker script is exponentialy harder than a simple client-server script....

I cannot wait to hear your answer

wrong number of operations?

Hello
I am not sure if I calculate something wrong or btcrecovery. Let's say I have a list:

^X
ab ac
x
%3[abc]
%3[cde]
%[ab]
%[xyz]
%[mnop]
As I understand there are 420 permutations (because we have always 1st token at the beginning). And for each permiutations (ignoring duplicates) we have
2*(333)(333)234 possibilities, which gives 14696640 tries.
I see btcrecovery did already 80000000 tries and still works... Why?

DLL load failed while importing _cl

C:\btcrecover>python btcrecover.py --list-gpus

Starting btcrecover 1.2.0-Cryptoguide on Python 3.8.2 32-bit, 21-bit unicodes, 32-bit ints
btcrecover.py: warning: DLL load failed while importing _cl:
btcrecover.py: error: no supported GPUs found

NEW FEATURES IDEAS

Hello, I have some sugestions to make:

First of all one feature that would come in handy would be to somehow store the seed combinations in a file while they are generating.Letme tell you my use case: Let's say I want to bruteforce 1,000,000,000 seed combinations,but my computer is slow.I would let my computer to generate the file contaning those 1,000,000,000 combinations and I would upload the software + the file that I need to be bruteforced to a high end vps (that I have to pay/hour).

In this way I don't need to generate 1,000,000,000 combinations on the vps and pay several hours for a task that my computer can do in the same time.

The other suggestion that I have is not so important, but it would help crypto-puzzle hunters a lot in bruteforcing.It would be to implement some special filters while bruteforcing with an unknown word like:

  • The final seed won't exceed X letters
  • The final seed would contain X time the letter "A" or "B"
  • Etc....

Personally, the first ideea would be the most helpfull......but I don't know if it can be done....

Add Xpub and Ypub support

These actually already work if you convert them to an xpub and set the derivation path manually, but really they should be handled natively...

Passwords containing the @ symbol don't get recognized

I've been at it for a while now. Every time I try a wallet with a normal password - a wallet without an @ symbol, it works perfectly fine. But any time i try it against my wallet that has a password which contains the @ symbol, it says password search exhausted.

Implement GPU acceleration for BIP39 wallets

Performance is currently about double the performance of CPU testing, if the following tasks are completed, performance will be about 7x based off my testing with seedlist and disabling the verification step. (Still worthwhile)

  • Create some test-vector passwordlists for benchmarking both BTCRecover and other tools, testing and tuning your setup
  • Modify password generator to perform checksums internally so as to guarantee that chunks of seeds will always completely fill the work group. (This can have a significant impact on performance. If the max work group size is 1024, only filling half (512) or having one over the max (1025) both halve performance. This can be approximated based on the expected error detection rates for different wallet types, but this changes with seed length and wallet type... (Never mind the performance penalty of having to constantly under-fill the work group, to avoid the penalty of overfilling it)
  • Modify mult-threading behavior of password generation and seed testing... If used with a pre-checksummed password list and the seed checking step is disabled, you can actually max-out GPU usage with as little as 2 threads. (Hits about 7.2 Kp/s) Currently all the threads just run the same task, which is fine for CPU processing, but with OpenCL, it makes more sense to have a few different worker pools. (Some to generate the password chunks and and enqueue them for processing, some to pass data back-foward with OpenCL, some to take the hashed data, derive addresses and check them)

Add "AutoSave" feature for Seed Recovery (Similar to what exists in password recover)

BTCRecover already automatically has the ability to do this for password recovery, basically saving the parameters of the test and the number of passwords checked so that it can be resumed at some time in the future.

I'm thinking that something similar would be very useful to add to the seedrecover side of things so that if you are running it and have to interrupt it, etc, you can continue again from where you left off.

using seedrecover.py on addresses-BTC.db received an error message

Thanks for updating this software and working on btcrecover. I ran into a error on syntax when using seedrecover.py on a full blockchain database downloaded from MEGA. I'll see if I can change the code on my download to make it work. It works on the test database provided in the test/folder.
See below.
Traceback (most recent call last): File "seedrecover.py", line 40, in <module> mnemonic_sentence, path_coin = btcrseed.main(sys.argv[1:]) File "/media/ubuntu/Seagate Backup Plus Drive/Downloads/btcrecover/btcrecover/btcrseed.py", line 1856, in main createdAddressDB = create_from_params["hash160s"] = AddressSet.fromfile(open(args.addressdb, "rb")) File "/media/ubuntu/Seagate Backup Plus Drive/Downloads/btcrecover/btcrecover/addressset.py", line 273, in fromfile config = ast.literal_eval(header[magic_len:config_end].decode()) File "/usr/lib/python3.8/ast.py", line 59, in literal_eval node_or_string = parse(node_or_string, mode='eval') File "/usr/lib/python3.8/ast.py", line 47, in parse return compile(source, filename, mode, flags, File "<unknown>", line 1 {'_hash_bytes': 4, 'version': 1, '_null_addr': '\x00\x00\x00\x00\x00\x00\x00\x00', '_bytes_per_addr': 8, '_len': 577540263, '_max_len': 805306368, '_hash_mask': 1073741823, '_dbLength': 1073741824, '_table_bytes': 8589934592L, 'last_filenum': 1863} ^ SyntaxError: invalid syntax
Thanks again for your work!

Add ability to limit BIP39 words tested

Add ability to use the tool in the situation where someone has scrambled their seed phrase.

Isn't practical for 24 word seeds, but very do-able for 12 word seeds.

Incorporate Improvements from John Cantrell's OpenCL Kernels (BIP39 seeds)

From here:
https://medium.com/@johncantrell97/how-i-checked-over-1-trillion-mnemonics-in-30-hours-to-win-a-bitcoin-635fe051a752

Basically the ongoing task will be to look at how best to incorporate this into BTCRecover. This is likely to involve at least.

  • Add ability to basically use the existing kernel as-is for simple scenarios. (Missing or Scrambled words)

  • Add some more suitable seed generators for Seed Recovery (The existing ones were primarily desiged for string-based password recovery, this wasn't too bad when the bottlekneck was hashing on the CPU, but even the existing OpenCL stuff is bottleknecking here very badly) This will likely include both improving CPU based generation and using his GPU based work.

  • Shift more of the verification process in to OpenCL. (This should work well for just about everything other than AddressDB based tests, but even then it could be worth compressing the AddressDB list down more so GPU memory isn't an issue and just accepting that OpenCL checking will have a few false positives (even a few %, so possibly millions) which are manually re-checked on the CPU later...

  • Expand this to work with Electrum seeds too...

Improve pre-start dialogue/messages & add ability to skip/shorten (Search stuck at 0 for some time with some types of search)

Hello, I'm using btcrecover to recover eth seed phrase. I know some of the words, and for the rest I have a few guesses each, so I use a tokenlist which looks like this:

+ ^1^word1
^2^word2-1
^2^word2-2
^2^word2-3
+ ^3^word3
...
^12^word12

I'm running it like this:

python seedrecover.py --no-dupchecks --mnemonic-length 12 --language EN --dsw --wallet-type ethereum --addr-limit 1 --addrs -address- --tokenlist ./tokens.txt --no-eta

I get this:

Starting seedrecover 1.3.0-CryptoGuide, btcrecover 1.3.0-Cryptoguide on Python 3.7.3 64-bit, 21-bit unicodes, 64-bit ints Using the 'en' wordlist. 2020-07-19 14:00:58 : Phase 1/1: up to 12 mistakes, 12 of which can be an entirely different seed word. 2020-07-19 14:00:58 : Using 8 worker threads | 0 elapsed: 0:00:00 rate: 0.00 P/s

And it gets stuck here. Ctrl-C doesn't work. I've tried both with and without --no-eta, without it it just gets stuck after Phase 1/1

My tokens list has 47 lines, only 3 of those are +
If I significantly reduce the amount of tokens it starts working.

Add Tokenlist Examples that cover using Required and Positional tokens at the same time.

Expand Seed-Tokenlist documentation to give an explicit example of descrambling a seed where there are more than 12 candidates, but the location of some words are known.

Example Tokenlist that does this.

+ ^1^ocean
+ ^2^hidden
+ ^3^kidney
famous
+ ^5^rich
+ ^6^season
+ ^7^gloom
husband
spring
+ ^10^convince
+ ^11^attitude
+ ^12^boy
glove
section
chunk
brick
sauce

This produces:

['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'husband', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'famous', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'spring', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'famous', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'spring', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'husband', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'husband', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'famous', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'glove', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'famous', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'glove', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'husband', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'spring', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'famous', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'glove', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'famous', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'glove', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'spring', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'spring', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'husband', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'glove', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'husband', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'glove', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'spring', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'husband', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'famous', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'section', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'famous', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'section', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'husband', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'spring', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'famous', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'section', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'famous', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'section', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'spring', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'spring', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'husband', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'section', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'husband', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'section', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'spring', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'glove', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'famous', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'section', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'famous', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'section', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'glove', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'glove', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'husband', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'section', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'husband', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'section', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'glove', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'glove', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'spring', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'section', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'spring', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'section', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'glove', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'husband', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'famous', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'chunk', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'famous', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'chunk', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'husband', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'spring', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'famous', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'chunk', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'famous', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'chunk', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'spring', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'spring', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'husband', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'chunk', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'husband', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'chunk', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'spring', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'glove', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'famous', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'chunk', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'famous', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'chunk', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'glove', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'glove', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'husband', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'chunk', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'husband', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'chunk', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'glove', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'glove', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'spring', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'chunk', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'spring', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'chunk', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'glove', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'section', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'famous', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'chunk', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'famous', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'chunk', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'section', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'section', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'husband', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'chunk', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'husband', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'chunk', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'section', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'section', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'spring', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'chunk', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'spring', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'chunk', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'section', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'section', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'glove', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'chunk', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'glove', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'chunk', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'section', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'husband', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'famous', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'brick', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'famous', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'brick', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'husband', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'spring', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'famous', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'brick', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'famous', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'brick', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'spring', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'spring', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'husband', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'brick', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'husband', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'brick', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'spring', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'glove', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'famous', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'brick', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'famous', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'brick', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'glove', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'glove', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'husband', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'brick', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'husband', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'brick', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'glove', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'glove', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'spring', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'brick', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'spring', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'brick', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'glove', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'section', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'famous', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'brick', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'famous', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'brick', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'section', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'section', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'husband', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'brick', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'husband', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'brick', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'section', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'section', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'spring', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'brick', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'spring', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'brick', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'section', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'section', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'glove', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'brick', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'glove', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'brick', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'section', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'chunk', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'famous', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'brick', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'famous', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'brick', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'chunk', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'chunk', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'husband', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'brick', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'husband', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'brick', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'chunk', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'chunk', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'spring', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'brick', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'spring', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'brick', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'chunk', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'chunk', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'glove', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'brick', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'glove', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'brick', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'chunk', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'chunk', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'section', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'brick', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'section', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'brick', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'chunk', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'husband', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'famous', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'sauce', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'famous', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'sauce', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'husband', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'spring', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'famous', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'sauce', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'famous', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'sauce', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'spring', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'spring', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'husband', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'sauce', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'husband', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'sauce', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'spring', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'glove', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'famous', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'sauce', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'famous', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'sauce', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'glove', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'glove', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'husband', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'sauce', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'husband', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'sauce', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'glove', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'glove', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'spring', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'sauce', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'spring', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'sauce', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'glove', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'section', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'famous', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'sauce', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'famous', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'sauce', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'section', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'section', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'husband', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'sauce', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'husband', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'sauce', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'section', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'section', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'spring', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'sauce', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'spring', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'sauce', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'section', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'section', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'glove', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'sauce', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'glove', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'sauce', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'section', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'chunk', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'famous', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'sauce', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'famous', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'sauce', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'chunk', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'chunk', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'husband', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'sauce', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'husband', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'sauce', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'chunk', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'chunk', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'spring', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'sauce', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'spring', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'sauce', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'chunk', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'chunk', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'glove', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'sauce', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'glove', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'sauce', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'chunk', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'chunk', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'section', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'sauce', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'section', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'sauce', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'chunk', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'brick', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'famous', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'sauce', 'famous', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'famous', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'sauce', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'famous', 'rich', 'season', 'gloom', 'brick', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'brick', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'husband', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'sauce', 'husband', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'husband', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'sauce', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'husband', 'rich', 'season', 'gloom', 'brick', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'brick', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'spring', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'sauce', 'spring', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'spring', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'sauce', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'spring', 'rich', 'season', 'gloom', 'brick', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'brick', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'glove', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'sauce', 'glove', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'glove', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'sauce', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'glove', 'rich', 'season', 'gloom', 'brick', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'brick', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'section', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'sauce', 'section', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'section', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'sauce', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'section', 'rich', 'season', 'gloom', 'brick', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'brick', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'sauce', 'rich', 'season', 'gloom', 'chunk', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'sauce', 'chunk', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'brick', 'rich', 'season', 'gloom', 'chunk', 'sauce', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'sauce', 'brick', 'convince', 'attitude', 'boy']
['ocean', 'hidden', 'kidney', 'chunk', 'rich', 'season', 'gloom', 'brick', 'sauce', 'convince', 'attitude', 'boy']

Add ability Search Multiple Derivation Paths in a single run

Given the number (3) of wallet types and corresponding derivation paths, coupled with the fact that people may have BTC spread accross a few "accounts", it seems that adding the ability to search several derivation paths in a single run would help users to have a better chance of successfully recovering their BTC...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.