Pages:
Author

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

legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
the software you made is for Ubuntu Linux , well i have a macbook
I'd recommend doing the following (more info here: https://github.com/Coding-Enthusiast/FinderOuter#running-the-finderouter):
1. Download FinderOuter release or source and build it yourself (deterministic builds and PGP signature will be added in near future)
2. Download Ubuntu
3. Verify Ubuntu's iso
4. Disconnect network cable (to remain offline)
5. Boot from a DVD or USB
6. Run FinderOuter

I've seen on github on your page some instructions for converting the software and make it run in windows but i can not handlle them Sad  how can i make it run on Windows 10 or IOS??? with instructions step by step for noobs ....  :/ 
You may find it easier if you used Visual Studio (https://visualstudio.microsoft.com/vs/mac/), if you install that then all you have to do is to open the solution file (FinderOuter.sln) and change solution configuration to "Release" and build using Build > Build solution from menu or press Ctrl+Shift+B and you'll find the binary at
Code:
...\Src\FinderOuter\bin\Release\netcoreapp3.1\FinderOuter.dll

If you didn't want to download VS. then MSDN has some good posts to get you started on how to use dotnet commands.
https://docs.microsoft.com/en-us/dotnet/core/get-started
An example: https://docs.microsoft.com/en-us/dotnet/core/tutorials/cli-create-console-app
the dotnet build command: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-build
Basically you'll have to run:
Code:
dotnet build FinderOuter.sln --configuration Release --runtime osx-x64

Hey , and by the way , you said the soft will run verry slow for base16 privatekeys, well , just curios.... how slow ?    like 1/2 private keys per seconds ??
To have a comparison the Base-58 part searches for 1.4 million keys per second but the Base-16 part is searching for 1200 keys/sec on my PC.
I am trying to optimize ECC (which is what slows things down here) but unfortunately that will take a very long time to be ready.
newbie
Activity: 4
Merit: 7
hey Coding Enthuziast thank you for the update , i was not expected to be done that soon . 

i've downloaded your software aaand  ...now it seem i have another obstacle Sad(( oooh man , it never eeeends Sad(( 

the software you made is for Ubuntu Linux , well i have a macbook ,anyway i also have  a virtual machine windows 10 app installed ( the name of application is Parallels Desktop-it is a virtual Windows 10 with full licence wich is running inside my IOS ) 

 I opened the virtual windows 10 and tryed to install inside , a virtualbox with ubuntu !   something like : Ubuntu running inside Windows 10 , running inside an IOS , a mess, i know Smiley)))))     but they don't let do do that Sad(((    i think i can not run a virtual machine inside another virtual machine

I've seen on github on your page some instructions for converting the software and make it run in windows but i can not handlle them Sad  how can i make it run on Windows 10 or IOS??? with instructions step by step for noobs ....  :/ 

Hey , and by the way , you said the soft will run verry slow for base16 privatekeys, well , just curios.... how slow ?    like 1/2 private keys per seconds ??

with all of that beeing said , i want to thank you again for your efort Cheesy     

legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
Version 0.1.2 is released.
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.1.2.0
See changelog for more details.
Most notable changes are:
- New feature: missing chars in base-16 encoded keys (unfortunately unlike other options this is very slow for now)
- Simplified Base-58 option to no longer need a checkbox for special case.
- Base-58 will return a friendly error message if a full private key was entered and was invalid.
- Some optimization and code cleanup.
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
On the other hand i also have a problem with my private key but your software will not work for my scenario because my key is saved in 64 hexadecimal format: If you would modify the software to accept also  the hexa format and not only base58

OK, let me see what I can do but unlike base-58 it will be very slow since it requires EC point multiplication which is slow by nature and my ECC code is particularly slow since I still haven't had time to optimize it.
I'll post an update here when it is finished.
newbie
Activity: 4
Merit: 7
Hello Coding Enthusiast  / first i want to thank you for working on such a software with a GUI user friendly because as you said ,  there are people who do not know to use/apply  a code or even use the cmd ( and belive me there are a lot of them)   ;  your software just makes the things more easy Cheesy

On the other hand i also have a problem with my private key but your software will not work for my scenario because my key is saved in 64 hexadecimal format: If you would modify the software to accept also  the hexa format and not only base58 , i would send you a small tip as soon as i will recover my private key (i have 7 missing characters out of 64;i know the location of them )  here is the original post of my matter if you want to take a look please : https://bitcointalksearch.org/topic/missing-7-characters-of-a-private-key-in-hexa-format-please-help-5227915   

Also i belive this update will help others too and not only me because there are many people who prefer the hexadecimal format and not base58 because even if the first one it's longer (64 hexa characters instead of 51/52 base58 characters)  , you don't have to deal with capital or small letters Smiley  especially for cold paper wallets it is prefered this method

waiting for a replay from you Cheesy i will keep my prommise and send a tip/donation to you as soon as i recover my private key
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
Hi, is there a way for this tool to work for TRX private key? My private key is messing 4 characters at the end of it.

This project is designed to only work for bitcoin but it may be used for any altcoin that is similar to bitcoin.
I took a quick look at Tron's source code and it seems like it is using the same curve (secp256k1) as bitcoin and has base58 encoding although I couldn't figure out if they use the same encoding for WIFs. If your key encoding is hexadecimal then it doesn't work but if it is a base-58 encoded string with a checksum and same additional bytes then you can use this tool.
newbie
Activity: 1
Merit: 0
Hi, is there a way for this tool to work for TRX private key? My private key is messing 4 characters at the end of it.

Thank you
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
I ran some tests with different compressed keys with 3 missing characters at different locations while editing the code to limit the search space (to shorten the time for tests), I couldn't figure out the issue since they all succeed.


https://github.com/Coding-Enthusiast/FinderOuter/commit/e949a711dc5dfcbaa01d393ebaa32e3ea8911507
With this commit, when an invalid but full key (no missing characters) is typed in that text box, the message is more clear about where the problem was.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Do you know the reason for the key being invalid (for example is it the checksum, invalid character or out of range value)? Or is it just producing a different address? (You could use bitaddress.org for decoding, it will tell you the reason).
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.
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
Update: After 4.5 hours, it produced a private key! But the key is invalid, so something must have gone wrong in checking the key.
Any idea why this could have happened?

Do you know the reason for the key being invalid (for example is it the checksum, invalid character or out of range value)? Or is it just producing a different address? (You could use bitaddress.org for decoding, it will tell you the reason).
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Update: After 4.5 hours, it produced a private key! But the key is invalid, so something must have gone wrong in checking the key.
Any idea why this could have happened?
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
I did not know that! As a Linux user, I picked the only tar.gz available, and didn't look at the zip. That indeed gave me the source code, and I followed instructions there.

It is GitHub that automatically adds the repository's source code as both a zip file and a tarball whenever a new release is published there (both named Source code) so that the source code at that exact commit is always available under the same binaries.
In any case, thanks for the report. I've added a short explanation to the ReadMe file that can hopefully prevent similar future confusions.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
hmm. Did you use the released zip file under "releases" and run it on Linux or did you compile it yourself? Because I can see you needing to install extra stuff for compiling (SDKs, Nuget packages,...) but there is no need to download anything else if you run the compiled version since it is self contained meaning even the framework (.net core) is included.
I did not know that! As a Linux user, I picked the only tar.gz available, and didn't look at the zip. That indeed gave me the source code, and I followed instructions there.
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
Why do all of these bruteforce things run on Linux/Ubuntu?  Cheesy
FinderOuter can run on any operating system. You just have to compile it yourself if you want to run it on Windows since I've only released the compiled version for 64-bit Linux OS. I can release more compiled versions if there is an overwhelming demand for it but security-wise it is best if you run it on a clean Linux specially if you are a windows user and want to use the same OS you use daily and may already be infected without you even knowing it.

Why do all of these bruteforce things run on Linux/Ubuntu?  Cheesy
Lol, I actually had to install a bunch of Microsoft tools to run it, so I guess it works on Windows too.
hmm. Did you use the released zip file under "releases" and run it on Linux or did you compile it yourself? Because I can see you needing to install extra stuff for compiling (SDKs, Nuget packages,...) but there is no need to download anything else if you run the compiled version since it is self contained meaning even the framework (.net core) is included.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Why do all of these bruteforce things run on Linux/Ubuntu?  Cheesy
Lol, I actually had to install a bunch of Microsoft tools to run it, so I guess it works on Windows too.
legendary
Activity: 2198
Merit: 1150
Freedom&Honor
Why do all of these bruteforce things run on Linux/Ubuntu?  Cheesy
Only btcrecover is for Windows  Undecided
Dunno if it's better to run this on a VM Linux or use btcrecover on Windows?
I have an integrated GPU :S
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Thanks for the improvements! It's currently running, I expect it to take around 18 hours. I didn't give the VM full CPU access (80% of 2 CPUs) so it shouldn't bother me too much.

I don't have high hopes though: I tested all possible combinations of JBRai's private key with 54 characters, and none of them lead to a valid private key. I've seen what he wrote down, and apart from too many or not enough characters, he also has terrible handwriting, which makes it likely there are more mistakes.
If this doesn't produce any result, I'll stop trying. It's not the first time I've seen someone lose access to funds because of bad hand writing. And that's why I always try to recover anything before funding a key: test your backups!

Update: After 4.5 hours, it produced a private key! But the key is invalid, so something must have gone wrong in checking the key.
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
Version 0.1.1 is released.
https://github.com/Coding-Enthusiast/FinderOuter/releases/tag/v0.1.1.0
See changelog for more information.
Most notable changes are:
- A new feature for a special case where a compressed private key has 3 missing characters at unknown locations.
- Some small optimizations, bug fixes and improvements.


Future ideas (as soon as I publish my Bitcoin.Net library):
- Recovering mini private keys with missing characters (eg. a damaged physical coin)
- Converting versioned private keys (BIP-178 and a couple of Electrum versions) to normal keys
- Finding BIP-32 paths by only having the mnemonic/xkeys and a single child address/key
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
I'm trying to recover JBRai's private key with 49 out of 52 characters known. I've installed The FinderOuter (in a VM), but it asks for the locations of the missing characters.
Any chance you can add a loop to search all possible locations for the 3 missing characters? That is, assuming the rest of JBRai's key is correct.

I've tested it with a known key: it takes about 2 seconds to find 3 missing characters. To do the same on 3 unknown locations would take about 58^3 times longer, which means several days, but it'll still be manageable.

I'm not a math expert but I think it should take 20,825 times longer (583=195,112)*. There is also the fact that the underlying algorithm will also be different that lacks most of the pre-computation that the current algorithm for known missing places has so it will be slightly slower. However, as I said before I have no idea how to generalize this so I hardcoded the heck out of it (only for this special case: missing 3 chars, probably will add a couple more smaller cases later), the benefit of it is that I know how to run it in parallel so the more threads your CPU has the faster it would run and I don't think 4 billion is going to take that long to finish.

* The problem with not knowing the missing places is that you'll have to first select different locations then loop through the 58 possible characters and keys are long (52/51 characters) so things get out of hand quickly. Example:
Code:
1 missing char (assuming compressed key):
  known location   -> 58              =            58
  unknown location -> 51*58           =         2,958
2 missing chars
  known location   -> 58*58           =         3,364
  unknown location -> 1,275*58*58     =     4,289,100
3 missing chars
  known location   -> 58*58*58        =       195,112
  unknown location -> 20,825*58*58*58 = 4,063,207,400

20,825 in last example (like others) is calculated using combination in mathematics which is n!/[k!(n-k)!] where n is 51 for compressed keys (52 char long with first one fixed to K or L) and k is 3 (the 3 missing places).

https://github.com/Coding-Enthusiast/FinderOuter/commit/73e8596993cdf68be49a4f20ba52afa2b1c1a5b1
Here is a preview, will publish a released version soon (the checkbox needs to be selected to enable this "special" case):
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Quote from another topic:
Thanks is there a tool i can use to recover ? as i must have missed a few characters off or could someone help me via private message  as i do not want to disclose it on here !!
You could use The FinderOuter. Compile it from source code or download the released version, run it offline. The program only has 2 options for now and you need the second option ("Missing Base58"). I believe the rest is self explanatory.
It should take a second to find the right key(s) with 3 missing characters.
I'm trying to recover JBRai's private key with 49 out of 52 characters known. I've installed The FinderOuter (in a VM), but it asks for the locations of the missing characters.
Any chance you can add a loop to search all possible locations for the 3 missing characters? That is, assuming the rest of JBRai's key is correct.

I've tested it with a known key: it takes about 2 seconds to find 3 missing characters. To do the same on 3 unknown locations would take about 58^3 times longer, which means several days, but it'll still be manageable.
Pages:
Jump to: