Skip to content

Easy to use bitcoin recovery tool to find private keys missing characters, mnemonic (seed phrase) missing some words and a lot more.

License

Notifications You must be signed in to change notification settings

huffy1/FinderOuter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status License

The FinderOuter

The FinderOuter aims to make recovery process easy for everyone by using a user friendly GUI. It will focus on simplicity so that the user doesn't have to read many pages of how-to-use in order to learn how to work with the command line. Instead user will only have to fill in a textbox or two and click a button! It only works for bitcoin but altcoin option may be added in the future.

Thanks to .Net core and AvaloniaUI this tool can run on all operating systems.
This project is written fully in c# and is stand alone with only GUI related components as its dependancies.
FinderOuter is still in beta and under development. New features are slowly added and everything is optimized. Please report any bugs you find or any improvement suggestions you have by creating a new issue.

Available options

1. Message signature verification

User can enter a message signature here to verify it. In case there is a problem with the message (except being an actually invalid signature), the code can search to find the common issues that some signing tools have and fix them.

2. Missing Base-58 characters

This option helps recover any base-58 encoded string with a checksum that is missing some characters. For example a damaged paper wallet where some characters are erased/unreadable. The position of missing characters must be known.
It works for (1) WIFs (Base-58 encoded private key) (2) Addresses (Base-58 encoded P2PKH address) (3) BIP-38 (Base-58 encoded encrypted private key).

There is also a "special case" where a compressed private key is missing 3 characters at unknown positions.

3. Missing Base-16 characters

This option is similar to previous feature but works for base-16 (hexadecimal) private keys. It currently requires an address and only checks compressed public keys. Unlike the other options, this one is very slow since it depends on ECC and that is not yet optimized.

4. Missing mini-privatekey characters

This option is similar to 2 and 3 but works for mini-privatekeys (eg. SzavMBLoXU6kDrqtUVmffv). It requires an address to check each possible key against, as a result it is also slower since it depends on ECC and has 2 additional hashes.

Future plans

  • Optimization is always at the top of the to-do list
  • Mnemonic recovery (seed phrases missing a couple of words, having wrong order,...)
  • BIP-32 path finder (user has master key and at least one child key but doesn't know the derivation path)
  • Password recovery (user knows some parts of his password but not all and has the encrypted wallet file)
  • Converting versioned WIFs to regular WIFs (BIP-178 and early vertion 3 Electrum wallets)

Downloading

Compiled binaries of each version can be found under releases1. There will only be self-contained2 deployment targetting 64-bit Linux operating systems. There are two main reasons for this decision:

  1. SCD releases are bigger in size and targetting one OS can slightly decrease the size.
  2. Since many features of this tool deal with sensitive information such as private keys, mnemonics,... that need to be kept secure, we strongly recommend that a Live linux is used with its network disabled.

However if you want to run this on another platform, you still can compile the source code yourself.

1 There are 3 files found in "releases" page, the bigger file on top is the compiled version and the other two named Source code.zip and Source code.tar.gz are the project's source code that GitHub automatically adds. There is no need to download the last two files if you are looking for compiled version.
2 There is no need to download/install anything (such as .Net), everything is already included.

Build from source code

  1. Get Git: https://git-scm.com/downloads
  2. Get .NET Core 3.1 SDK: https://www.microsoft.com/net/download (see TargetFramework here)
  3. clone FinderOuter git clone https://github.com/Coding-Enthusiast/FinderOuter.git
  4. Build using dotnet build

Running the FinderOuter

If the already compiled SCD release provided here is used, there is no need to download anything else since the framework is included.

  1. Provide execute permissions chmod 777 ./FinderOuter
  2. Execute application ./FinderOuter more info

If the source is compiled, then the FinderOuter.exe file on Windows or FinderOuter.dll on any other platform can be used (dotnet FinderOuter.dll in command line) to run FinderOuter.
Important: Make sure released build is used (instead of debug) for optimization.

Note: Since this project deals with sensative information such as private keys and mnemonics, the safest approach is to run it on an air-gapped computer. Example:

  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 (link)
  4. Disconnect network cable (to remain offline)
  5. Boot from a DVD or USB (link)
  6. Run FinderOuter
  7. Shut down Ubuntu and remove the medium used in step 5

Contributing

Please check out conventions for information about coding styles, versioning, making pull requests, and more.

Donations

If You found this tool helpful consider making a donation:
Legacy address: 1Q9swRQuwhTtjZZ2yguFWk7m7pszknkWyk
SegWit address: bc1q3n5t9gv40ayq68nwf0yth49dt5c799wpld376s

About

Easy to use bitcoin recovery tool to find private keys missing characters, mnemonic (seed phrase) missing some words and a lot more.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%