despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 02:23:47 PM Last edit: March 21, 2023, 03:57:19 PM by despo4helpo Merited by o_e_l_e_o (4), ABCbits (1), paid2 (1) |
|
I'm trying to use Btcrecover to find my passphrase. I entered it on a Ledger Nano S and I thought I was sure of the words, but obviously I'm wrong. I do have the correct 24 word seed. My passphrase is relatively long; possibly 15-20 words all put together. I've tried multiple custom token lists to no avail, and wondering if I'm doing something wrong.
When using --listpass, I've noticed that if -typos-capslock is enabled, it tries combinations of lowercaseUPPERCASElowercase.
1. My passphrase is all lowercase or all uppercase. If it's all lowercase, then possibly, the first letter of the passphrase OR first letter of each word is proper case. It would have been a pain to do that on the Ledger though so I am hoping it's all lower or upper case. Is there any way to run only those combinations, or do I need to try each casetype as a separate run?
2. I'm relatively confident there are certain words, and even the order, and use + in front of those. The other words are in the middle but I'm not certain how the "relative anchor" works.
3. Complicating things more, I may have replaced a's with @, s with $ etc. I have the custom-typos map but that becomes way too many combinations. I think I did it only for the first a or s in a word and not all. I.e., Emb@rra$s
Any thoughts/suggestions/scripts/other tools than btcrecover you can suggest?
Thank you for joining me on this recovery journey.
|
|
|
|
paid2
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 03:14:08 PM |
|
I'm sorry to read that you lost access to your bitcoin.
However I'm not sure that I fully understand, did you lose the seed phrase associated with your ledger? As far as I know, ledgers have a code with X digits, not a password in words, right?
Can you tell us which wallet you used when you created your password? Normally your seed should be 24 words long, if you didn't add any. If your wallet was Electrum for example, then your seed phrase would only be 12 words.
Btcrecover is a great tool, as hashcat is too. But I am not sure to understand enough your exact problem to be able to advise 1 specific tool
Good luck with your coins!
|
|
|
|
despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 03:57:01 PM |
|
I'm sorry to read that you lost access to your bitcoin.
However I'm not sure that I fully understand, did you lose the seed phrase associated with your ledger? As far as I know, ledgers have a code with X digits, not a password in words, right?
Can you tell us which wallet you used when you created your password? Normally your seed should be 24 words long, if you didn't add any. If your wallet was Electrum for example, then your seed phrase would only be 12 words.
Btcrecover is a great tool, as hashcat is too. But I am not sure to understand enough your exact problem to be able to advise 1 specific tool
Good luck with your coins!
Thanks for your message. I do have the 24 word seed (I'll update my original post). Ledger does offer the option to create a passphrase that's attached to a pin.
|
|
|
|
BitMaxz
Legendary
Offline
Activity: 3360
Merit: 3094
BTC price road to $80k
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 05:04:57 PM |
|
There is another tool that you can use to brute-force the wallet passphrase it was developed by Coding Enthusiast. You can check that tool from his thread below - https://bitcointalk.org/index.php?topic=5214021.0Once you downloaded it just go to Missing Mnemonic Passphrase and try to brute-force your wallet just make sure that you remember some parts of your passphrase to speed up the process.
|
|
|
|
despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 05:09:39 PM Last edit: March 21, 2023, 05:36:47 PM by despo4helpo |
|
There is another tool that you can use to brute-force the wallet passphrase it was developed by Coding Enthusiast. You can check that tool from his thread below - https://bitcointalk.org/index.php?topic=5214021.0Once you downloaded it just go to Missing Mnemonic Passphrase and try to brute-force your wallet just make sure that you remember some parts of your passphrase to speed up the process. Thanks. I did try this previously however I couldn't quite understand the alphabet use case. I tried it anyway and it had crashed when I woke up, lol. I couldn't get it working on a Macbook unfortunately which would have been way faster vs. my Windows laptop. Where would I add the words that I believe the passphrase is made up of?
|
|
|
|
litecoin_messiah
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 05:32:15 PM |
|
Download Mentalist from https://github.com/sc0tfree/mentalistIt's an amazing tool, easy to use and helps you build a custom wordlist. With btcrecover you can load the wordlist with the --passwordlist command (afaik), with mentalist can use the GUI and have a better understanding of how large the wordlist will also be. The mask options have been confusing for me in btcrecover, it does a good job at checking if the password is correct most of the time but the wordlist is better generated with mentalist. You also mentioned macbook, best thing to do is export all the passwords from the keychain and create a wordlist with them. You might also want to check the better branch of btcrecover it's over at https://github.com/3rdIteration and the maintainer has great videos at https://www.youtube.com/@CryptoGuide
|
|
|
|
despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 05:40:18 PM |
|
Download Mentalist from https://github.com/sc0tfree/mentalistIt's an amazing tool, easy to use and helps you build a custom wordlist. With btcrecover you can load the wordlist with the --passwordlist command (afaik), with mentalist can use the GUI and have a better understanding of how large the wordlist will also be. The mask options have been confusing for me in btcrecover, it does a good job at checking if the password is correct most of the time but the wordlist is better generated with mentalist. You also mentioned macbook, best thing to do is export all the passwords from the keychain and create a wordlist with them. You might also want to check the better branch of btcrecover it's over at https://github.com/3rdIteration and the maintainer has great videos at https://www.youtube.com/@CryptoGuideThank so much, Mentalist looks interesting. I hope I can run it offline! I am using the latest version of Btcrecover as I only started this journey a few weeks ago. I hadn't used the Macbook at the time of creating the passphrase. Entering it on the Ledger Nano S was the only way. Nice tip though. ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
litecoin_messiah
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 05:43:35 PM |
|
Download Mentalist from https://github.com/sc0tfree/mentalistIt's an amazing tool, easy to use and helps you build a custom wordlist. With btcrecover you can load the wordlist with the --passwordlist command (afaik), with mentalist can use the GUI and have a better understanding of how large the wordlist will also be. The mask options have been confusing for me in btcrecover, it does a good job at checking if the password is correct most of the time but the wordlist is better generated with mentalist. You also mentioned macbook, best thing to do is export all the passwords from the keychain and create a wordlist with them. You might also want to check the better branch of btcrecover it's over at https://github.com/3rdIteration and the maintainer has great videos at https://www.youtube.com/@CryptoGuideThank so much, Mentalist looks interesting. I hope I can run it offline! I am using the latest version of Btcrecover as I only started this journey a few weeks ago. I hadn't used the Macbook at the time of creating the passphrase. Entering it on the Ledger Nano S was the only way. Nice tip though. ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Yeah it runs offline mate just go to https://github.com/sc0tfree/mentalist/releases/tag/v1.0 and download Mentalist-v1.0-OSX.zip Also running something offline doesn't always make it secure, this is a protip. If you want to be extra safe, Run this on a live usb or an old laptop with the network device removed &/or disabled from the bios. Malware can aggregate data offline for posting it out later on, also crash reports, memory persistence happen too.
|
|
|
|
despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 05:48:25 PM Last edit: March 21, 2023, 06:14:10 PM by despo4helpo |
|
Yeah it runs offline mate just go to https://github.com/sc0tfree/mentalist/releases/tag/v1.0 and download Mentalist-v1.0-OSX.zip Also running something offline doesn't always make it secure, this is a protip. If you want to be extra safe, Run this on a live usb or an old laptop with the network device removed &/or disabled from the bios. Malware can aggregate data offline for posting it out later on, also crash reports, memory persistence happen too. I didn't really realize that; thank you! I did plan on moving everything out, if ever found and changing the passphrase etc. before formatting the laptops and enabling wi-fi. I like your suggestions though.
|
|
|
|
paid2
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 05:51:05 PM |
|
Yeah it runs offline mate just go to https://github.com/sc0tfree/mentalist/releases/tag/v1.0 and download Mentalist-v1.0-OSX.zip Also running something offline doesn't always make it secure, this is a protip. If you want to be extra safe, Run this on a live usb or an old laptop with the network device removed &/or disabled from the bios. Malware can aggregate data offline for posting it out later on, also crash reports, memory persistence happen too. I didn't really realize that; thank you! I did plan on moving everything out, if ever found and changing the passphrase etc. before formatting the laptops and enabling wi-fi. I like your suggestions though. Is there a Windows version of Mentalist? In my opinion, you should use Debian or at least Ubuntu! A Linux distro will be way more secured than Windows. Maybe, it is just my pro-linux propaganda which is talking right now ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) but it is never too late to start using Linux, and you won't regret it for sure
|
|
|
|
despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 21, 2023, 05:57:30 PM Last edit: March 21, 2023, 06:11:13 PM by despo4helpo |
|
I have something to clarify. Blockchain explorer tells me that: This address has transacted 1 times on the Bitcoin blockchain. It has received a total of XXX BTC $XYZ and has sent a total of 0.00000000 BTC $0.00 The current value of this address is XXX BTC $XXX. The address format is Bech32 (P2WPKH). The address starts with bc1. - In btcrecover, it's correct to say the address limit is 1, right?
- Is there a way to tell btcrecover the address format to speed it up and not check every format?
|
|
|
|
nc50lc
Legendary
Offline
Activity: 2520
Merit: 5969
Self-proclaimed Genius
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 22, 2023, 05:49:46 AM |
|
- In btcrecover, it's correct to say the address limit is 1, right?
- Is there a way to tell btcrecover the address format to speed it up and not check every format?
- The "address limit" tells btcrecover how many 'address_indexes' to derive (address_index starts at '0'),
so if you're not certain of your address' index, better leave it with higher or default value. But if you're absolutely certain that it's the very first address that you've derived (not just the first to receive bitcoins), then '1' is enough.
- You'll be providing it with your address with --addrs so why do you have to provide the format?
Anyways, --skip-uncompressed can be added to skip searching from uncompressed pubKeys which Ledger doesn't support.
Basically, the command will look like this: btcrecover --addrs bc1address --bip39 --skip-uncompressed You should have a token file named " btcrecover-tokens-auto.txt" in btcrecover's directory containing your tokens or point to it with --tokenlist( just add the necessary options depending on your needs, e.g.: --typos-capslock)
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18697
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 22, 2023, 11:53:22 AM |
|
1. My passphrase is all lowercase or all uppercase. If it's all lowercase, then possibly, the first letter of the passphrase OR first letter of each word is proper case. It would have been a pain to do that on the Ledger though so I am hoping it's all lower or upper case. Is there any way to run only those combinations, or do I need to try each casetype as a separate run? Separate runs. There is no straightforward way to tell it to change the case of your entire token file. You can put multiple tokens on a single line, and it will only try one from each line, such as: Token token TOKEN Code code CODE However, there is no way to say "If you pick the lowercase token from the first line, pick the lowercase token from all the other lines too". So you will simply have to make a token file with everything in lowercase, and once exhausted change everything to uppercase, and so on. 2. I'm relatively confident there are certain words, and even the order, and use + in front of those. The other words are in the middle but I'm not certain how the "relative anchor" works. If you are certain a word appears somewhere, but you don't know where, then use + If you know the exact position of a word, for example "This is definitely the fourth word", then use + ^4^ If you have three words you think WordA comes first, WordB somewhere later, and WordC later still, then you would use something like this: + ^r1^WordA + ^r2^WordB + ^r3^WordC This fixes these word positions relative to each other. WordB will never be tried before WordA, but there could still be other words between WordA and WordB. If you have three words and you know they are consecutive, then combine them in to a single line like this: The %s will be replaced by a single space. 3. Complicating things more, I may have replaced a's with @, s with $ etc. I have the custom-typos map but that becomes way too many combinations. I think I did it only for the first a or s in a word and not all. I.e., Emb@rra$s Combine these on the same line to try only one of them at a time. Example: Embarrass Emb@rrass Embarra$s Emb@rra$s
|
|
|
|
BitMaxz
Legendary
Offline
Activity: 3360
Merit: 3094
BTC price road to $80k
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 22, 2023, 01:33:38 PM |
|
I tried it anyway and it had crashed when I woke up, lol.
If you tried it on Windows it crashed while running it in a few hours maybe it crash because you didn't disable the hard disk sleep or anything that could interrupt the software from running. You might need to install dot net core according to their guide. FinderOuter is great tool/software and more user-friendly. But with lack of GPU support, btcrecover is better choice on most cases.
That's the only downside about this tool but they are planning to add support GPU on version 2.0 according to their roadmap. The only good thing about this tool it's easy to use compared to BTCrecover/Hashcat.
|
|
|
|
despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 22, 2023, 04:04:16 PM |
|
- In btcrecover, it's correct to say the address limit is 1, right?
- Is there a way to tell btcrecover the address format to speed it up and not check every format?
- The "address limit" tells btcrecover how many 'address_indexes' to derive (address_index starts at '0'),
so if you're not certain of your address' index, better leave it with higher or default value. But if you're absolutely certain that it's the very first address that you've derived (not just the first to receive bitcoins), then '1' is enough.
- You'll be providing it with your address with --addrs so why do you have to provide the format?
Anyways, --skip-uncompressed can be added to skip searching from uncompressed pubKeys which Ledger doesn't support.
Is there a way to find out whether it's the first derived address or not? I do have the wallet in my Ledger desktop app. I also have the xpub but wasn't 100% certain I got it the correct way so thought using the address would be better. I think I read somewhere that it searches all the formats and stating the current format will reduce the search parameters. Perhaps that's been updated in the latest version? Thank you for the support!
|
|
|
|
despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 22, 2023, 04:50:17 PM Last edit: March 22, 2023, 05:01:00 PM by despo4helpo |
|
1. My passphrase is all lowercase or all uppercase. If it's all lowercase, then possibly, the first letter of the passphrase OR first letter of each word is proper case. It would have been a pain to do that on the Ledger though so I am hoping it's all lower or upper case. Is there any way to run only those combinations, or do I need to try each casetype as a separate run? Separate runs. There is no straightforward way to tell it to change the case of your entire token file. You can put multiple tokens on a single line, and it will only try one from each line, such as: Token token TOKEN Code code CODE However, there is no way to say "If you pick the lowercase token from the first line, pick the lowercase token from all the other lines too". So you will simply have to make a token file with everything in lowercase, and once exhausted change everything to uppercase, and so on. 2. I'm relatively confident there are certain words, and even the order, and use + in front of those. The other words are in the middle but I'm not certain how the "relative anchor" works. If you are certain a word appears somewhere, but you don't know where, then use + If you know the exact position of a word, for example "This is definitely the fourth word", then use + ^4^ If you have three words you think WordA comes first, WordB somewhere later, and WordC later still, then you would use something like this: + ^r1^WordA + ^r2^WordB + ^r3^WordC This fixes these word positions relative to each other. WordB will never be tried before WordA, but there could still be other words between WordA and WordB. If you have three words and you know they are consecutive, then combine them in to a single line like this: The %s will be replaced by a single space. 3. Complicating things more, I may have replaced a's with @, s with $ etc. I have the custom-typos map but that becomes way too many combinations. I think I did it only for the first a or s in a word and not all. I.e., Emb@rra$s Combine these on the same line to try only one of them at a time. Example: Embarrass Emb@rrass Embarra$s Emb@rra$s Thank you! I'm glad to see you're still active here. I've seen so many posts from you while helping others over the years. Thanks for clarifying about the relative anchors; it's much clearer now! Do you suggest any other commands to use to reduce the number of variables? From my other post: Is there a way to find out whether it's the first derived address or not? I do have the wallet in my Ledger desktop app. I also have the xpub but wasn't 100% certain I got it the correct way so thought using the address would be better.
|
|
|
|
nc50lc
Legendary
Offline
Activity: 2520
Merit: 5969
Self-proclaimed Genius
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 23, 2023, 05:15:14 AM |
|
Is there a way to find out whether it's the first derived address or not? I do have the wallet in my Ledger desktop app. I also have the xpub but wasn't 100% certain I got it the correct way so thought using the address would be better.
If ledger Live can show the address' derivation path, the first address should have " /0" at the end of the path, the 2nd address has " /1" and so on. But if there's no way to show it, the xpub should do. Use an offline machine for privacy reasons and load/import it in any tool/wallet that supports xpub. E.g.: in Electrum, restore it in " new/restore" menu or " Install Wizard" by selecting " Standard wallet->Use a master key". for xpub, Electrum will derive addresses that starts with '1'. If your addresss starts with 'bc1q', convert the xpub first in the console ( View->Show Console) into zpub via command: convert_xkey(xkey="xpub...",xtype="p2wpkh")Finish creating the wallet, enable the 'Addresses' tab ( Show->View Addresses) and open it. Then the addresses with green highlight are your receiving addresses and it should be in the correct arrangement by address_index. To make sure, right click on the address and select " Details", the derivation path for the first address from the extended pubKey should be m/0/0.
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18697
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 23, 2023, 09:55:02 AM |
|
How did you export the xpub? If you are sure it is correct, then you can just use that directly instead of then deriving an address from it. Your search will also be a little faster using the xpub since btcrecover does not have to derive one or more addresses for each attempt. Instead of using the --addrs argument, replace it with --mpk xpub6ABC...If you also know the derivation path for that xpub, then include the following as well to narrow down the search further, replacing xx with the relevant numbers: --bip32-path "m/xx'/0'/0'" Do you suggest any other commands to use to reduce the number of variables? If you can give us much information as you know about your passphrase (obviously without revealing the actual words), then we can try to optimize things as much as possible.
|
|
|
|
despo4helpo (OP)
Newbie
Offline
Activity: 16
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 24, 2023, 03:14:20 AM |
|
How did you export the xpub? If you are sure it is correct, then you can just use that directly instead of then deriving an address from it. Your search will also be a little faster using the xpub since btcrecover does not have to derive one or more addresses for each attempt. I followed steps 1-3 from here: https://support.ledger.com/hc/en-us/articles/6275459128989-How-to-analyze-a-Bitcoin-BTC-account-xPub?support=true
Instead of using the --addrs argument, replace it with --mpk xpub6ABC...If you also know the derivation path for that xpub, then include the following as well to narrow down the search further, replacing xx with the relevant numbers: --bip32-path "m/xx'/0'/0'" That's the tricky part; not sure how to find the derivation path. Is the "fresh address path" (shown in the step 3 image from the link above) the same as the derivation path?
Do you suggest any other commands to use to reduce the number of variables? If you can give us much information as you know about your passphrase (obviously without revealing the actual words), then we can try to optimize things as much as possible. It's either one of these lists, or a combination of both. If separate, I'm confident of the order but yet it didn't work so something is off.
I think all caps but could be wrong. It was done on the Ledger Nano S so I don't think I would have gone and changed caps and spaces between words...
Fruit1fruit2fruit3fruit4 OR Veg1veg2veg3veg4 OR Fruit1veg1veg2fruit2 There are probably some known number combinations, at the end. So I know to put all those in 1 line and use $ after each one.
To make matters worse, I may have replaced a with @ and s with $ and o with 0.
I'm a moron! (Clearly I don't know how to use the quotes properly, so I've put my responses in bold, sorry!)
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18697
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 24, 2023, 09:25:10 AM |
|
That's the tricky part; not sure how to find the derivation path. Is the "fresh address path" (shown in the step 3 image from the link above) the same as the derivation path? Almost. Take the fresh address it path it shows you under your xpub and knock the last two sets of digits off it to get the derivation path for your xpub. So if it shows m/84'/0'/0'/0/5, your xpub's path will be m/84'/0'/0'. Make sure to include the ' symbols, these are very important and will generate entirely different keys if you miss them out. The last thing to be sure is that this xpub is definitely coming from the account protected by the passphrase, and not from the base account with no passphrase. It's either one of these lists, or a combination of both. If separate, I'm confident of the order but yet it didn't work so something is off. If the order is off, then you are really going to struggle. Based on your initial post of 15-20 words, and the fact that I can descramble 12 words in a little under an hour, then 15 words would come out at around 100 days and 20 words will be in the region of hundreds of thousands of years, even assuming you were 100% correct with all your words and symbols. So, assuming you know the order, then I would try something like this initially: ^1^Code ^1^code ^1^C0de ^1^c0de ^2^test ^2^te$t ^3^mayor ^3^m@yor ^3^may0r ^3^m@y0r And so on. The ^x^ before each word fixes the position of that word. btcrecover will then take one entry from each line and assemble that in to a passphrase in that order to try. So on each line, you put every possible permutation of that word. This is also assuming no spaces between the words. If that fails, then change your tokens file to all caps. If that fails, then take your second wordlist (e.g. veg instead of fruit) and follow the same process. If that fails, then combine your wordlists and follow the same process. Note that if $ is the last character of a token, you will need to replace it with %S otherwise btcrecover will interpret it as an end anchor. In terms of the numbers at the end, you can do what you are doing and put every possibility on a single line with $ at the end, or you can use a wildcard if you are unsure about the numbers. For example, %3,4d will try every 3 and 4 digit combination. Note that this will significantly increase your search space, however.
|
|
|
|
|