Post
Topic
Board Electrum
Re: Seeking solutions to a 12 year old Electrum wallet mystery
by
kauai_lost_boi
on 05/03/2024, 21:17:12 UTC
With BTCrecover I am running my seedtoken off an address.db file. When I tried to use the electrum 1.* option, I got the error saying there was a conflict with 'lang' and I have no idea what that means yet.
-snip-
Oh, that's pertaining to --language arg that you've included to the command.
I've tested it and apparently, selecting "electrum 1.x" will prohibit you from using certain args like --mnemonic-length as well as --tokenlist.
It'll ask about your "best guess" of the mnemonic instead, then proceed to do its programmed 5-phase bruteforce attack (if used the deafult) to the provided phrase.
(pretty much the same in the old original version of BTCRecover)

I tested BTCRecover v.1.12.0 (seedrecover.py) with an easy 'wrong seed' with 1 wrong word:
v1.x Seed: flutter weak friendship painful shy dirty play forgotten settle double ask season

Code:
./python seedrecover.py --addrs 1MdagXmBnbfGTWjrq2atoK8NY4SqkS5xq6 --addr-limit 10 --dsw --no-eta --no-dupcheck
Best Guess (wrong seed): flutter ask friendship painful shy dirty play forgotten settle double ask season
Code:
Starting seedrecover 1.12.0-CryptoGuide, btcrecover 1.12.0-Cryptoguide on Python 3.10.2 64-bit, 21-bit unicodes, 64-bit ints
2024-03-04 15:00:00 : Phase 1/5: 1 mistake, excluding entirely different seed words.
Wallet Type: btcrseed.WalletElectrum1
2024-03-04 15:00:01 : Using 8 worker threads
| 86  elapsed: 0:00:04  rate:  17.54  P/s
2024-03-04 15:00:06 : Search Complete
 Seed not found
2024-03-04 15:00:06 : Phase 2/5: up to 2 mistakes, excluding entirely different seed words.
Wallet Type: btcrseed.WalletElectrum1
2024-03-04 15:00:07 : Using 8 worker threads
| 3324  elapsed: 0:01:56  rate:  28.48  P/s
2024-03-04 15:02:04 : Search Complete
 Seed not found
2024-03-04 15:02:04 : Phase 3/5: 1 mistake which can be an entirely different seed word.
Wallet Type: btcrseed.WalletElectrum1
2024-03-04 15:02:04 : Using 8 worker threads
/ 2129  elapsed: 0:01:14  rate:  28.46  P/s
2024-03-04 15:03:19 : Search Complete
--Correct mnemonic seed in the POP-UP--

Yours should be provided with --big-typos 8 arg to limit it to 1 phase with "8" being the number of possible "entirely different seed words".
And that's quite a lot of search space and I don't know how to optimize the bruteforce for electrum 1.x seed in seedrecover though.

Note: this is considering that your mnemonic seed is created in versions 0.34 and above, otherwise you'l have to "ask" someone to modify the seedrecover code to mimic the old bug.

The work and knowledge you shared with the others is invaluable to me. I have a lot of work to do in the coming days. I will configure my BTCrecover either on the current POP OS or try to get a flavor that can get pyopencl running correctly for GPU acceleration. I will then go over the different Electrum versions while trying to get the V-1.* derivation path to work along with the other possible avenues of approach discussed. Might take me some days but I will update the progress as it rolls out.