Pages:
Author

Topic: The FinderOuter, a bitcoin recovery tool (v0.16.0 2022-09-19) (Read 4274 times)

legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Sorry for my lack of activity. My life has been getting increasingly complicated over the past year or two.

Version 0.20.0 (2024-11-13)
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.20.0.0

  • New feature: new copy and paste buttons for all search-spaces to be able to copy over lists
  • New feature: recovering encryption password used for bitcoin core wallet.dat files
  • Some bug fixes and code improvements
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
on edit #2: OMG, I found my key. I had a single 9 that should have been a P. Yet, I still can't remember ever writing/typing it down. I'll send you a donation. Thanks so much.
This is precisely why no one should be writing down private keys in WIF. I have even caught myself incapable to recover a private key, because I couldn't tell for example if 'w' was capitalized or not. Then, you correct it, and checksum is still invalid, so you start questioning other letters as well, like 'S' with '5' etc.

[...]
Oh, no. Why did you do this to me. Another puzzle for me this week. We should be able to work it out when the 10th word is published, but nowhere close to that with brute forcing before the 10th.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
@Coding Enthusiast: Would it be okay to hijack this thread for a week, to solve a 0.012 BTC mnemonic puzzle? It seems like a good test case for The FinderOuter.

Address: bc1quf9wp5w7zk2enkjnwh6n82rcy7lv6qpvg723sf
word 1
word 2
word 3
word 4
word 5
word 6
word 7: tomorrow

I'm posting it here because some of the words are obvious, while other words may require some brute forcing. One puzzle per day gets added, but the last few words may be found through brute force before the last puzzles get published.
newbie
Activity: 7
Merit: 4
Awesome tool, thank you for building it. I'm using V 0.19.1.0 to attempt a recovery an old uncompressed WIF private key. I have all 51 characters, beginning with 5J, but it's not valid for some reason. It was always copy/pasted, never written down or transcribed.

I am currently trying to use the "exception" method by having the program try 3 random character locations. The instructions say to not use a MissingChar symbol and just enter the characters you have (I assume this would be, say, 49 characters). However, the * is chosen as a default and I can't choose "none." Can you elaborate on this method?

"Exception: if you have a WIF private key missing up to 3 characters and you don't know the position of those characters, there is no need to use MissingChar symbol anymore, just enter the characters you have and press find."

I have tried pasting my entire 51-character WIF key into the "Base-58 encoded string" box and clicking "find." I also tried removing the last 2 characters of the key, as well as, separately, a few keys from the middle of the string (leaving the total string length to be 49 characters). Each time I immediately get "The given key has an invalid checksum."

I note that in example 8 of the program (This example is a compressed private key missing 3 character at unknown positions.), it also just returns "invalid checksum" and doesn't appear to run correctly.

When I use the MissingChar, e.g. ?, at several random places throughout the 51-character key, then it works fine. I've run various tests for hours and get numerous private key results (so the program is working), just none so far that work with my public address.

on edit #1: ah, I see this was already flagged in github issues and further found in the v0.19 source code to revert back to v0.14 for the Exception/Special Case for 2 characters. I tried that, but no luck.

on edit #2: OMG, I found my key. I had a single 9 that should have been a P. Yet, I still can't remember ever writing/typing it down. I'll send you a donation. Thanks so much.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I tried FinderOuter but it’s taking more than a month and gives more than 100 private keys.
This is weird. With 11 missing characters, I'd expect millions of valid private keys. If you know the address, you should know which one you need. But if you don't know the address, you should have many more private keys.

Anyway, with just 100 private keys, you could even import them into a new Electrum wallet to see if any of them have transactions. See this post to restore Segwit addresses.
jr. member
Activity: 45
Merit: 14
I have a private key with 11 character’s missing from 3 to 6, 25 to 27 and 48 to 51. I understand that last four characters are the checksum. I tried FinderOuter but it’s taking more than a month and gives more than 100 private keys. I do not which software I can use to locate the correct private key. Any advice, please let me know.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Version 0.19.1 (2024-01-24)
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.19.1.0

  • Fix a bug in VMs where FinderOuter crashed if user entered an invalid input
  • Move to .net 8 and compile binding (UI)
  • Some cleanup and UI fixes

This minor release is fixing a critical bug but also moves to the new .net 8 which required changing UI bindings to compiled binding to prevent UI code from being trimmed. This also further decreases the binary sizes (~8%).
The backend (Bitcoin.Net) is also updated to 0.26.0 with improvements and bug fixes in ECC implementation which should also bring some small optimization.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Version 0.19.0 (2023-11-15)
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.19.0.0

  • Add settings to define the number of threads used in parallelism + KB entry
  • Old Electrum mnemonics are still not supported but they will be rejected with a clear message
  • Various bug fixes, code improvements, additional tests and some UI fixes

Two major changes in this release are migration to the new Avalonia UI version 11.0 and .Net 6 with trimming option that reduces the binary size by roughly 40%. Even though most UI bugs were fixed before releasing v0.19 there may still be some uncaught ones, please report them on GitHub (or here) if you encounter any.
newbie
Activity: 4
Merit: 0
Hi dev, a suggestion : could you make it so the user could select how many threads to be used? Since it uses everything a CPU can offer, usually it just hangs if the load is too much, unless you go to task manager on windows and limit CPU usage, but having an option to set one time and the ability to save the user settings would be great.
https://github.com/Coding-Enthusiast/FinderOuter/commit/09466f3e9fe2b57fa158c1f61add98e15cb6973d
This was added under an expander on the side with the name "Settings" that will allow you to set the number of threads the parallel loops use based on the number of cores .net can detect.
The max value here may not be accurate in case the system has more than one processor group or has CPU utilization limit. I'll probably add an override option to go beyond that limit as a more advanced feature since going beyond the thread limit could potentially slow down the process.
This also needs some guides on how it should be used etc. in our KnowledgeBase page which I'll add before v0.19.0 is released.
https://i.ibb.co/nbDTg5k/threard-count.jpg

PS. If you build at the given commit above, know that there is currently a bug in our UI where the slider appears to be at the minimum value (1) when the application starts but the actual value is set correctly to the maximum number of threads. This is fixed in the new AvaloniaUI 11.0 which we need to upgrade to but it takes time due to the breaking changes in the UI framework.

Hi, need to find private key for bitcoin wallet. Part of this key is 35 characters, I know how to find other characters, is there a program for sorting characters with an indication of mandatory ones.
I would appreciate a tip on the bitcoin part
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Hi dev, a suggestion : could you make it so the user could select how many threads to be used? Since it uses everything a CPU can offer, usually it just hangs if the load is too much, unless you go to task manager on windows and limit CPU usage, but having an option to set one time and the ability to save the user settings would be great.
https://github.com/Coding-Enthusiast/FinderOuter/commit/09466f3e9fe2b57fa158c1f61add98e15cb6973d
This was added under an expander on the side with the name "Settings" that will allow you to set the number of threads the parallel loops use based on the number of cores .net can detect.
The max value here may not be accurate in case the system has more than one processor group or has CPU utilization limit. I'll probably add an override option to go beyond that limit as a more advanced feature since going beyond the thread limit could potentially slow down the process.
This also needs some guides on how it should be used etc. in our KnowledgeBase page which I'll add before v0.19.0 is released.


PS. If you build at the given commit above, know that there is currently a bug in our UI where the slider appears to be at the minimum value (1) when the application starts but the actual value is set correctly to the maximum number of threads. This is fixed in the new AvaloniaUI 11.0 which we need to upgrade to but it takes time due to the breaking changes in the UI framework.
copper member
Activity: 1330
Merit: 899
🖤😏
Hi dev, a suggestion : could you make it so the user could select how many threads to be used? Since it uses everything a CPU can offer, usually it just hangs if the load is too much, unless you go to task manager on windows and limit CPU usage, but having an option to set one time and the ability to save the user settings would be great.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
It becomes a really huge machine! Do you have any plans for the next release(s)?

Saving progress and restoring partial search?
Using a range in derivation path?

I was briefly comparing what you have with features of 'lostword' and looks like you have (almost) all Smiley
For now until version 1.0 I'm focusing on increasing my test coverage and finding bugs while improving the printed reports and messages.
After that I'll start investigating how to add GPU support.
Anything else I'll try to squeeze in if I have any idea of how to implement them efficiently without needing any significant code change.
legendary
Activity: 952
Merit: 1386
It becomes a really huge machine! Do you have any plans for the next release(s)?

Saving progress and restoring partial search?
Using a range in derivation path?

I was briefly comparing what you have with features of 'lostword' and looks like you have (almost) all Smiley
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Version 0.18.0 (2023-06-23)
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.18.0.0

  • Improve the returned message (errors and reports)
  • New feature: time estimation. Addresses #30 [1]
  • New feature: Add an AutoCompleteBox to mnemonic recovery option to suggest words based on letters the user entered [2]
  • Various bug fixes, code improvements and some additional tests

[1] This will show the number of keys that were checked so far and an estimated speed in number of keys(permutations) per second and the estimated time remaining until the entire search space is checked. Note that in most cases the actual key could be found before the entire space is searched.
See issue #30 for information on its limits.


[2] When modifying the mnemonic search-space by entering possible words, user can switch to the Auto Complete mode so that a suggestion list opens up based on the letters that were entered so far. This should also make it easier to see all words that contain certain letters (like the image below with words containing "xi").
Mode can change any time using the switch button.

newbie
Activity: 16
Merit: 10
What's the maximum number of allowed characters in the passphrase? It says 100 is too much. I don't think my passphrase is 100 but I put that since it's the maximum a Ledger will allow, which is what I used.
Brute-forcing 100 characters will never ever succeed. You'll probably have a very hard time with 10 characters already, if your password is that long your only chance is to remember (most of) it.

If I do remember most of it, where do I enter that data in FinderOuter?
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
What's the maximum number of allowed characters in the passphrase? It says 100 is too much. I don't think my passphrase is 100 but I put that since it's the maximum a Ledger will allow, which is what I used.
Brute-forcing 100 characters will never ever succeed. You'll probably have a very hard time with 10 characters already, if your password is that long your only chance is to remember (most of) it.
newbie
Activity: 16
Merit: 10
Hello.

I'm trying to find my passphrase. I have the 24 word seed phrase.
Where can I enter the (presumed) words known for the passphrase? If I try in Customchars, it says to remove duplicate letters.

What's the maximum number of allowed characters in the passphrase? It says 100 is too much. I don't think my passphrase is 100 but I put that since it's the maximum a Ledger will allow, which is what I used.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Also having a windows compiled version would be greatly appreciated.
Under releases on GitHub there is always a zip file containing the binaries for Windows.
https://github.com/Coding-Enthusiast/FinderOuter/releases/download/v0.17.0.0/FinderOuter-0.17.0.0-Win64SCD.zip

As for your other suggestions, manual key generation doesn't really fit into a "recovery tool" so it can't be added to FinderOuter.
copper member
Activity: 1330
Merit: 899
🖤😏
Some suggestions, it would be nice to have the ability to do SHA256 RIPEMD160, HASH-160, convert private key to u/compressed public keys, convert WIF to private key and vice versa, base58 checksum decode/ encode. Converting public keys to addresses, converting address to RIPEMD160, vice versa.

Basically manual key generator etc, It's hard to use several online tools for just computing a bitcoin address.
Also having a windows compiled version would be greatly appreciated.
I know that I might sound too demanding, but these are just suggestions.
~Regards.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Could you give me a price and time estimate please?
I'd say roughly 1-2 hundred millions of addresses can be encoded sequentially this way per second per core. Although since we are talking about 10160 addresses, the size is going to be massive and won't fit in any memory or storage space.
Pages:
Jump to: