Pages:
Author

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

legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
I've noticed that this works only if you've chosen "Electrum". This is what happens on BIP39:
Whenever there is an "additional info" textbox in any of the recovery options, the result is always checked against that and the loop will break as soon as the comparison was successful.

Quote
What? Why should this be true? Am I missing anything? Besides, I tried it and it goes terribly slow, just like before.
Each depth adds another round of HMACSHA512 and some small math for all index types, but also adds another EC point multiplication if the index wasn't hardened.
For example m/0 only performs one additional EC mult and one HMACSHA512 compared to m/0/0/0/0 which has to perform 4 which makes it 4 times slower.

Have you tried the 5th example? Just click on Example button 5 times, and it should only take a minute to solve.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
It will stop as soon as it finds the correct combination of words and prints the result.
I've noticed that this works only if you've chosen "Electrum". This is what happens on BIP39:



It should find the correct mnemonic on the first result. Instead it's starting this search that takes 1 day to finish.
Nevermind, I had to change path equal with m/84'/0'/0'/0

Generally speaking the shorter your path is (eg. m/0 vs m/0/0/0/0) the faster the recovery.
What? Why should this be true? Am I missing anything? Besides, I tried it and it goes terribly slow, just like before.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
I must have a really slow PC.
Sorry I should have asked about your path first, BIP39 recovery speed depends a lot on the path, doubly so in my code that has a known issue with ECC.
Generally speaking the shorter your path is (eg. m/0 vs m/0/0/0/0) the faster the recovery.
The more hardened indexes the path has (eg. m/0'/0'/0'/0' vs m/0/0/0/0) the faster the recovery.
Additionally when the path is using hardened indexes it avoids the issue in FinderOuter so the speed goes up by a lot and it can also use the all CPU cores.

To compare your PC speed with mine in the most optimal case check out the fifth example. On my corei3 CPU it barely takes 3 min (0:02:40) to check the 4.1 million cases.
https://imgur.com/a/uRHbDef
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
10 words out of how many? 2 missing out of 12 takes only an hour on my old PC, having 10 out of more like 24 is impossible to brute force.
Really? It just finished after 19 hours.

There are 12 words in the given mnemonic with 2 missing.
A total of 4,194,304 mnemonics should be checked.
Running in parallel.
Elapsed time: 19:02:45.5941064
k/s= 61


I must have a really slow PC.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Is FinderOuter available for console only? I believe that it would go faster.
No. UI isn't consuming that much CPU power, it is just a thread that will be updated every now and then.

Quote
Also question, can I run it with my gpu?
Not yet.

Quote
I'm brute forcing an mnemonic with 10 words and it has to search among 4.1 million mnemonics. I left it all night, it seems to be in the middle.
10 words out of how many? 2 missing out of 12 takes only an hour on my old PC, having 10 out of more like 24 is impossible to brute force.

Quote
Edit: Another question, does it searches until it finds the correct mnemonic or does it try all the possible combinations first? As I said I've reached the middle and I want to know if my chances are getting smaller.
It will stop as soon as it finds the correct combination of words and prints the result.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Is FinderOuter available for console only? I believe that it would go faster. Also question, can I run it with my gpu? I'm brute forcing an mnemonic with 10 words and it has to search among 4.1 million mnemonics. I left it all night, it seems to be in the middle.

Edit: Another question, does it searches until it finds the correct mnemonic or does it try all the possible combinations first? As I said I've reached the middle and I want to know if my chances are getting smaller.
full member
Activity: 431
Merit: 105
Version 0.6.0 is released.
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.6.0.0
See changelog for details.
  • Move to .net 5.0
  • Added small icons at the bottom showing the current state of the program
  • New recovery option: ELectrum mnemonics
  • Base16 recovery now has more options for secondary input (to check against)
  • Add a new word list to mnemonic recovery: Portuguese

As you may already know FinderOuter has always been a bitcoin recovery tool but we may add altcoin recovery options some day.
By request I created a new branch for recovering Tron private keys, it can recover a hexadecimal Tron private key if you have the damaged hex and your public key or address. https://github.com/Coding-Enthusiast/FinderOuter/tree/Tron

Hi there Coding Enthusiast,
got it working now, thanks again for this great piece, merry christmas,
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Version 0.6.0 is released.
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.6.0.0
See changelog for details.
  • Move to .net 5.0
  • Added small icons at the bottom showing the current state of the program
  • New recovery option: ELectrum mnemonics
  • Base16 recovery now has more options for secondary input (to check against)
  • Add a new word list to mnemonic recovery: Portuguese

As you may already know FinderOuter has always been a bitcoin recovery tool but we may add altcoin recovery options some day.
By request I created a new branch for recovering Tron private keys, it can recover a hexadecimal Tron private key if you have the damaged hex and your public key or address. https://github.com/Coding-Enthusiast/FinderOuter/tree/Tron
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Hi Coding Enthusiast, i cant compile it  Angry broken os.
could you get a compiled one up and ready to use, for windows 10 probably,
thanks a lot, just did fix the not compiling issue, used ps net .
Glad it worked out for you but you should know that it is not safe to handle your private keys and other secrets on Windows specifically if the system is what you regularly use for everything else too. This is why I have only released compiled version for Linux.
full member
Activity: 431
Merit: 105
Hi Coding Enthusiast, i cant compile it  Angry broken os.
could you get a compiled one up and ready to use, for windows 10 probably,
thanks a lot, just did fix the not compiling issue, used ps net .
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Version 0.5.0 released (The Parallelization Update)

This is the parallelism update with tons of optimization from a small 10% speed gain to more than 1800% in some cases.  
- Most of these optimizations are in Base58 recovery option.  
  - Compressed and uncompressed private key recovery uses all available CPU cores for maximum speed and at 100% capacity.
  - Two special cases were added to recover private keys that are missing characters from their end (up to 9 missing for uncompressed and 11 for compressed is the default for now and can be recovered in less than a minute).  
  - Recovery of Base58 addresses and BIP-38 encrypted keys are also optimized the same way.
- Mini private key recovery
  - It uses all available CPU cores
  - It suffers from the known issue #9
  - The extra input has more options like other recovery options to enter different types of addresses or a public key.
- Mnemonic recovery
  - New wordlist added (Czech)
  - There is a simple checkbox now to set the key index itself to be hardened
  - It suffers from the known issue #9 whenever there is EC multiplication involved (private key to public key), otherwise if there weren't any the code will run at maximum efficiency using all cores at 100% (see 5th example in mnemonic recovery)

Other most notable changes:
- Now there is a progress bar at the bottom that will be used when recovering in parallel to show the progress so far. Other times when using single core the recovery process never takes up longer than a minute (usually less than 10 seconds) so progress bar is disabled.  
- Addition of more examples for each recovery option.  
- Various code improvements and bug fixes.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Version 0.3.0 is released.
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.3.0.0
See changelog for more details.
Most notable changes are:
- New feature: mini-privatekey (of length 22, 26 or 30) missing characters
- Some bug fixes in missing base-58 option
- Improved reports
Version 0.4.0 is released.
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.4.0.0
See changelog for more details.
Most notable changes are:
- New feature: BIP-39 mnemonic recovery
- Code improvement, optimization of hash algorithms, more tests
Version 0.4.1 is released.
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.4.1.0
See changelog for details.
This is a minor version released with a little bit of delay that introduces the Example button. It is an easy and quick way of seeing how to fill different text boxes. Hopefully it can clear some confusions that some beginners may have with things such as BIP-32 paths.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
It is a privatekey with 51 characters, I lost 12 characters. I lost everything? Sad

Short answer is it's impossible to recover this private key since the number of possible keys to check is enormous.

You'll need to construct and compute 1,449*1018 hashes, in comparison current total bitcoin hashrate (the entire bitcoin mining power) is about 100*1018 and that is hash of a rather fixed input that doesn't have the same additional computation step on each round. That means even if you had all the ASICs operating today and had a way of modifying them to compute the hash you want, you still wouldn't even be able to go through 5% of the cases.

On top of that since the number of missing characters is huge, the number of correct results is going to be large and in order to go through all of them there is another bottleneck which is computation of public key and if needed the address to compare with an input (FinderOuter doesn't do that in current version).


PS. I don't want to get your hopes up but there may be a small chance if you have your public key. I still haven't looked into the algorithm (Pollard's kangaroo) but it may be possible if we could get a manageable range of keys from what you already have.



Merging 2 consecutive comments
I tried Electrum and Mycelium, both didn't tell me the reason. I didn't use bitaddress because I couldn't run it offline at that moment. I guess the checksum must have failed.
The resulting key was the original, with 2 characters added at one place, and further one 1 character added. I was very hopeful at that moment that it would have found the the correct key.

I still haven't been able to find any problem that involves checksum, it appears to be working correctly.
However I found another problem while testing. It was due to checksum collision and the fact that second character was missing, it ended up producing a wrong starting byte hence an invalid key.
I'm currently refactoring the way reports work and will add more checks before printing result. For now my latest commit is a simple fix that makes the loop continue running (like all the rest of the loops!). The result is that even if it finds an invalid key it still continues running until it searches the entire space so there may be another possible key down the line that is valid.
https://github.com/Coding-Enthusiast/FinderOuter/commit/5ed05806c64a7790a8c9c300fe5722809bc7e4ec

For reference the test vector was this:
Code:
K**M*jGmerYanjeui5SHS7JkmpZ*VipYvB2*JGU1ZxJwYvP98617
result 1 (valid)
KwdMAjGmerYanjeui5SHS7JkmpZvVipYvB2LJGU1ZxJwYvP98617
result 2 (invalid)
KGZM5jGmerYanjeui5SHS7JkmpZnVipYvB2UJGU1ZxJwYvP98617
newbie
Activity: 2
Merit: 1
It is a privatekey with 51 characters, I lost 12 characters. I lost everything? Sad
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I have an address with 12 characters left. Is it feasible to try to recover?
Do you mean a private key with 12 characters left? Forget it!
If it's an address, 12 characters is enough to check if it holds funds.
newbie
Activity: 2
Merit: 1
Hello!

I have an address with 12 characters left. Is it feasible to try to recover?

"Total number of keys to test: 1.449.225.352.009.601.191.936"

Could this take years?
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Version 0.2.0 is released.
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.2.0.0
See changelog for more details.
Most notable changes are:
- Replacing backend with the well tested Bitcoin.Net library which improves performance and fixes some bugs
- Added 2 new features: recovering Base-58 addresses and BIP-38 encrypted keys
- Fix some bugs including a bug that prevented the FinderOuter from running on Ubuntu 20
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Thank you for all Coding Enthusiast. But that's very difficult to follow for people who are not involved in IT, I tried all night long to launch FinderOuter but that doesn't work... maybe I am too idiot.
Did you try to build the project from source code and faced difficulties or did you try to run the compiled version (the 27 MB file called v0.1.2.0.zip) and had problems?
And please mention the difficulties you encountered explicitly so that I could improve the project and make things easier.
newbie
Activity: 16
Merit: 0
Thank you for all Coding Enthusiast. But that's very difficult to follow for people who are not involved in IT, I tried all night long to launch FinderOuter but that doesn't work... maybe I am too idiot.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Sorry, The FinderOuter doesn't support wallet files (bitcoin core backups) yet.
And please ask your questions in English so that I don't have to use Google Translate.
Pages:
Jump to: