GithubHelp home page GithubHelp logo

coding-enthusiast / finderouter Goto Github PK

View Code? Open in Web Editor NEW
266.0 34.0 100.0 4.07 MB

Easy to use bitcoin recovery tool to fix damaged private key, mini-private key, address, BIP38 encrypted key, mnemonic (seed phrase), BIP-32 derivation path, Armory backups, recover passwords and more

License: MIT License

C# 100.00%
bitcoin private-key base58 message-signing brute-force bip38 mini-privatekey minikey mnemonic seed

finderouter's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

finderouter's Issues

Time prediction

How much 8 missing characters from middle gonna take to find with corei7 8700 cpu? Just a estimated time

Idea of speed increase

Cant wait until you add gpu support. Any idea an how much faster program will run. i have 11missing characters with 20 million in my wallet.

character select

I love your idea about character select. Is it going to be in the next release since gpu support is a whiles away.

Armory chaincode recovery

Hi,

I would like the ability to recover the chain code for armory. Currently this functionality isn't there and there is a comment in the code regarding this:

AmoryService.cs line 648
report.AddMessageSafe("FinderOuter currently doesn't support recovering chain-code." +
"Open a new issue if you need this feature.");

I would really like this feature to be implemented, thank you.

Code

I put some code together from other codes to convert the compress wif to address but its slow can you help.
from bitcoin import *

f = open('boom.txt', 'r')
privates = []
line = f.readline()

while line != "":
line = line[0 :-1]
privates.append (line)
line = f.readline()

f.close()

for priv in privates:
pub = privtopub(priv)
addr = pubtoaddr(pub)
wif = encode_privkey(priv, 'wif')
file = open('boom_convert.txt', 'a')
file.write(wif + '\n' + addr + '\n\n')
file.close()
print (wif)

Add progress bar

The total is already computed and shown but a progress bar helps visualize the speed and the "progress".

mutithreading

how many cpu can your program handle cuz i have aws 64 vcpu and im getting 600 m/s. can it handle more cpu with out running mutiple copys

Add damaged word recovery option

The individual words used in a mnemonic could be partially damaged and require to be recovered. It is faster to do that instead of using the mnemonic recovery option.
For this purpose we could use the Levenshtein distance (or maybe other string metrics) that was added to Bitcoin.Net recently.
Probably an option to be added to FinderOuter v.0.6.0.

AddrComp

Is it helpful to enter address Comp for recovering base58 ?

Add benchmark for time prediction

Users always want to know how long it would take to perform the recovery or sometimes to just know the possibility of recovering something considering how much of it is lost. Examples: #20 #17 #7
It would be useful to add a feature that would take some minimal inputs (such as mnemonic total word count and number of missing words), ran the main loop of the respective Service and reported a key/second speed with the total amount of time it would take to go through all of it.

API / command line version

hi is there a command line version of the software? or some kind of API? I would like to be able to run multiple searches without using the user interface.

Autarkysoft.Bitcoin 0.9.0 is not compatible with net50

I freshly installed net50 and Autarkysoft.Bitcoin 0.9.0

I am getting the error:
Error NU1202 Package Autarkysoft.Bitcoin 0.9.0 is not compatible with net50 (.NETFramework,Version=v5.0). Package Autarkysoft.Bitcoin 0.9.0 supports: netstandard2.1 (.NETStandard,Version=v2.1) Tests
C:\Users<me>\Source\Repos\FinderOuter\Src\Tests\Tests.csproj 1

Custom Derivation Paths

First off, this is great. So easy to get up and running (the binary works like a charm) and the instructions are easy to understand. Very refreshing for avid tinkerers like myself who are not quite computer scientists.

Anyway, I was wondering if there are any plans to allow entering a custom derivation path? Or at least part of 1? Some wallets of course use non-standard ones. And I know that altcoins are not supported, but a lot of them would still be compatible with the software as-is if we could just change the derivation path. For instance, I'm trying to recover an Ethereum key and I know the mnemonic (I think), and I have the public key, which is the same format as a Bitcoin public key. If I could set the path to something like m/44'/60'/?/? or something like that, I could maybe potentially use it for recovering that Ethereum key (I think...please correct me if I'm wrong about that). I don't really mind if I have to run the thing for hours and hours, if that's what it takes.

Anyway, just thought I'd throw that out there. Thanks again for making this tool!

p2sh recovery

Hello.i have a p2sh wallet .i lost 4 character of private key and i know they position.i tried your software but it cant recover them.also i tried another wallet but it works well .maybe p2sh is the problem to recover?my private key starts with (L4A3.........)
Can you help me?

menemonic phase

I used the option to recover the menemonic phase for 2 missing words from the atomic wallet, I ran the program and it gave an error. do you know why?

i used m/44'/0'/0'/0/0

Add recovery option for Armory paper backups

Armory doesn't seem to be using mnemonics but lets users create a paper backup of their "root seed" as a base-16 encoded string with custom characters split into 4 char words and in 2 or 4 lines.
The code is already written but unpublished. It requires some test vectors which have not yet been found. Hopefully this can be released in v. 0.8.0.

If you know any test vectors that could be used here please post them in this issue.

Roadmap

This is a short roadmap to loosely outline the plans for the future releases. This issue will be updated with time.
Each release usually takes a month or two but can take more time depending on complexity and developer's free time.

v 1.0.0

  • Maximize test coverage

v 1.1.0

  • Rewrite ECC to use UInt64 and a bigger radix representation

v 1.2.0

  • Use SIMD wherever possible (mostly all hash algorithms and some of the recovery services)

v 1.3.0

  • Try to add pause/resume capability

v 1.4.0

  • (possibly) add wallet file password recovery. The problem is lack of clear documentation and example file.

v 2.0.0

  • GPU support

BIP38 encryption password recovery

Hello. you can help to make a password guessing for BIP 38
I have a key, but it's encrypted.
your utility will be even more useful with the addition of this functionality.
I am currently using a program written in python.
the speed is bad.
thanks for any help.

Anything that involves ECC is very slow, also prevents using 100% of CPU in parallel mode

Due to the way it is implemented (using BigInteger) elliptic curve cryptography is slow in this project.
Also any part that requires it in parallel mode fails to use 100% of CPU (usually swings between 60% to 70%) such as mnemonic recovery or any ICompareService that has to convert private key to public key.

The plan to solve this is to re-implement ECC using a custom readonly struct ModularUInt256 with optimized algorithms to compute point multiplication and a lot of the modular arithmetic used in ECC.

help me!!

I lost 14 characters of my private key How do I recover the lost characters?
it's like this for example:
12 **** 3456789123 *** 123456788 **** 123456 *** 1234567
please tell me how to extract this program to find the missing 14 characters

Missing BIP38 EC mult decryption mode

Your program- Missing Bip38 pass- refuses to work. Check the error-Invalid prefix.
I used this-

1AMYsRoWDAr5fAB49UUJUgse5LRZ2c82Qv

6PnWt89G6WGAr2mK5nEAPtSe7Q1EvK1W2Txodd9Y1KDEDJgWd6hg2Xv6nt

1945

bip-38

Time prediction

I have a key missing 25 characters, but when it is up to 13 characters, the software shows on the screen that it is optimizing the keys and will not check everything. Because when he misses 25 he doesn't do that? And also because there are no keys, he is checking and missing, will this be implemented? 25 characters missing, that's a lot, do you think that with a 256-core processor extremely possible, I can recover?

i left it a few days, it appeared that it found "a possible key". This was about three times, then he kept checking.

Estimated Time Calculation

I lost 19 characters from the end of my private key starting with K. It has been working for about 5 days but unfortunately it has not yielded any results. How can the estimated time be calculated?

Recover password wallet.dat

I saw that the project will have a function to retrieve the password for wallet.dat. Do you have an estimate of when this implementation will take place?

Add the case that location of missing characters is not known.

Base-58 service only supports the case when the user knows the location of missing characters.
A new option is needed for when that location is not known. But the option has to work with any number of missing characters without needing to hard-code each case individually.

No clear instruction on how to run on Mac OS

I can't seem to figure out how to run this on Mac OS, bearing in mind that I have zero knowledge on this.

I downloaded the binary file, ran terminal at the folder and used this command: dotnet FinderOuter

I get this error:
Could not execute because the specified command or file was not found.
Possible reasons for this include:

  • You misspelled a built-in dotnet command.
  • You intended to execute a .NET program, but dotnet-FinderOuter does not exist.
  • You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.

Allow valid armory characters

in armory the valid input characters into the dialogs are based on

BASE58CHARS = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'

in finderOuter they are based on constants in file ConstantsFO.cs line 18

ArmoryChars = "asdfghjkwertuion";

I might be mistaken but I think the finderOuter armory chars is too restrictive by not allowing characters such as b or c etc.

ArmoryService.cs line 600:

else if (lines.Any(line => line.Any(c => **!ConstantsFO.ArmoryChars.Contains(c)** && c != missChar)))
{
report.Fail("Input contains invalid characters.");
}

I might be misunderstanding the code, apologies if that's the case.

pause/resume and combinations processed

Hi,

is it possible to have a pause/resume function so that in a case where it requires more time to process to be able to pause the process and resume once the PC is available.
Also it would be nice to see the number of combinations processed, in this case the user would get a sense that the program is running and how far/close it is to resolution.

Thanks!

Example for Binance Smart Chain

Hi. I`m try to find few word of seed for Binance Smart Chain, but it does not work
I'm choose Missing Mnemonic with parametrs:
Phrase - original leader remove powder trumpet morning amazing trophy fee high * *
Wallet - 0x113EEE4418D83e319526473fe0785acc50D07E09
Path - m'/44'/60'/0'/0

Result - Invalid extra input or input type AddrComp.

What i`m doing wrong?

Missing private keys

Hi,
is it possible to retrieve the first 10 characters of a private key?
I have the last 41 characters

Example for Metamask Seed

Hello.

Hello, I'm trying to retrieve a word that I forgot from the metamask wallet seed, but it's giving an error.

image

Recover time

Hello.i started to recover a key with 11 characters lost almost between the private key.and it starts with K.i forget to calculate the time and i cant stop the procces because it spend 5~6 hours.my cpu is core i7 8700.can just tell me how much it gonna work?

Does this application support Etherium?

I tried to find the last word in the SEED phrase for the Etherium wallet, but I ran into the problem "Invalid extra input or input type AddrComp". Is it possible to fix this somehow, or is this code not suitable for Etherium?
1

Uncompressed private keys

I have uncompressed private key (for BCH) with one missing character at unknown position, when will be possible to try recover such key?

Add missing characters hints

It would be useful to add possibility to specify the set of potential candidates per missing character - for example to say that on position X could be only digit or any subset of base58.
By the way - is the app smart enough to limit potential candidates from the top? For example, if WIF starts with L, then on 2nd could be max 5, if on 2nd is 5 then on 3rd could be max o etc.

Question on 10 missing keys

have a question. Recently there was a flood and a paper notebook containing a offline wallet was damage and it destroyed part of a WIF private key, so now I basically have:

Kw**********(I have the next 40 characters, just not posting for obvious reasons), so I am missing 10 characters in all.

I also have the public key. Is it possible to use this software to start a search at Kw... and iterate over the missing 10 characters with the known 40 characters also in the key.

For example : 1B2Q8vPm5E5b8yxaNWUW5ZfdCR5Zu1KMJn - is the public address

and for the WIF private key I'd have Kw**********jcQmKRPNTF8CU9H1thzC981DCrZgmS4m8ygXFCEk (this is just an example, no funds are here)

basically I want to always have search for private key start at 'Kw', then search for missing 10, and end with 'jcQmKRPNTF8CU9H1thzC981DCrZgmS4m8ygXFCEk'

Any advice is appreciated and examples are even more appreciated.

Or is 10 characters just too many possible combos. All advice is much appreciated! I can maybe take a guess at one more character that kind of looks like something and get it down to 9 missing characters, but I am still worried that is too many.

Thank you

Recovering BIP38 password without having the address

Since the BIP38 string already contains an address hash, recovering without the address itself is technically possible but it would add 1x Base58 encoding and 2x SHA256 hash and our IConverter implementations don't have that option yet. The encoding part has to be optimized otherwise the speed could decrease significantly.

This feature is postponed until there is either demand for it or version 1.0 is about to be released.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.