scorta / GuessPrivateKey

Searching Private Key(s) for given Bitcoin address(es)
https://scorta.github.io/GuessPrivateKey/
42 stars 39 forks source link

Display the speed of keys checked per second #1

Closed ackoco closed 5 years ago

ackoco commented 6 years ago

A possible feature would be to mimic what the LBC does and show the speed at which the keys are being checked in Keys/s

scorta commented 6 years ago

Yes, it is possible, I may add it in next update. However, I'm focus on rewrite this using other libraries to increase the speed (I think bitcoinj is not fast enough).

Xefrok commented 6 years ago

@scorta love your code! any update so far?

Plaztomad commented 6 years ago

My cmd is just showing "Imported X address(es). Start searching..." is it working well? (X is random number for my example). Thank you P.s. Any other update? @scorta

scorta commented 6 years ago

@Xefrok Thanks, but I was busy with other stuffs and have not made any update :(

@Plaztomad Yes, it's working (you can see your CPU run at 100%)

I'm still looking for a C or C++ lib. I'm not satisfy with the speed of bitcoinj lib :(

Xefrok commented 6 years ago

@scorta i get inspired by your "Guessing PVK" so i made my own https://github.com/Xefrok/BitBruteForce-Wallet

i dont think Python is faster than Java but i prefer working with python hahaha

scorta commented 6 years ago

Looks great :D I was thinking about abandon this project, but now you guys inspire me to keep working. I'm re-writing this in C++. Hopefully it can be done in next week.

Plaztomad commented 6 years ago

Sounds great @scorta ! Let's see what you're able to do 😉💪 wait for any update or new project

ackoco commented 6 years ago

Great news @scorta ! keep working on it It is a cool project

SatoshiNakamotoBitcoins commented 5 years ago

How many keys it can handle pro core in average @scorta ??

scorta commented 5 years ago

How many keys it can handle pro core in average @scorta ??

It depends on the CPU's speed.

SatoshiNakamotoBitcoins commented 5 years ago

Let's say 2.4 GHZ pro core @scorta

SatoshiNakamotoBitcoins commented 5 years ago

In comparison to Brainflayer I get 170.000 keys pro second with Incremental search, and feeding it a wordlist which makes a sha256 it hits 25.000 keys pro second, both pro CPU core in which order is your Key Guesser ?? @scorta

scorta commented 5 years ago

Sorry for the late reply. I did run a benchmark on my PC last year, but I did not remember the number, but it was not very fast (maybe 10.000 or 20.000 keys/second/core - I was using Xeon 1231v3)

SatoshiNakamotoBitcoins commented 5 years ago

thnx for your reply @scorta not bad at all for Java; Brainflayer was written in C but isn't random like your code. So when you can pull thif off in C, and also run on GPU you've got a winner...;-) Keep up the good work!!

scorta commented 5 years ago

Thanks, I will work on this when I have time & motivation. Didn't feel good at the moment :(

Plaztomad commented 5 years ago

Motivation will come one day after the other..just have a clear goal to achieve!

Keep pushing man this is one of the most talented project I've seen on GitHub.

Bye Lucas from Italy

sudheesh789 commented 5 years ago

Hello I don't know how to run the sorta/guess privatekey project.can u help me?which platform I choose..cmd?android studio?visual studio?.I am beginner

SatoshiNakamotoBitcoins commented 5 years ago

@sudheesh789 When you running a Win10 machine, you can run a Windows Subsystem for Linux (WSL)

First execute step 1 in article link below:

https://www.kali.org/news/kali-linux-in-the-windows-app-store/

After that the system will reboot.

Go to the Windows app store and download and install Kali Linux (pin it to start; more easy to find startup icon)

Fire up Kali Linux...you will see a prompt like Ms-DOS but it isn't it's Kal Linux.

Go the step 2 in article link above...and type in the commands...but starting with the word sudo (activating superuser rights)

sudo apt-get update (press enter) sudo apt-get dist-upgrade (press enter)

After that go to the video in link above...and execute the commands which there will be explained.

Now we have to install a java packages on Linux

You can do this with the command sudo apt install default-jre (press enter)

And we have to install the package git; so we can easily download the Github repositories:

sudo apt-get install git (press enter)

And we have to install package wget (we will need this later)

sudo apt-get install wget (press enter)

Now you ready to roll!

First we gonna "clone" this repositorie, with the command:

git clone https://github.com/scorta/GuessPrivateKey.git (press enter)

The Private Key Guesser now is installed on your Kali Linux

Type the command ls...(like dir with windows) to see the directory structure

You will see GuessPrivateKey...(make sure the "capitals" are right)

After that type the command cd GuessPrivateKey...(likewise Windows ms-dos prompt)

After that you type ls again...you will see the files below:

bit.txt GuessPrivateKey.jar GuessPrivateKey.java README.md

Except the file GuessPrivateKey.jar....we have to download this directly into our GuessPrivateKey folder.

To do this (you are already navigated to the GuessPrivateKey folder), type the command:

wget https://github.com/scorta/GuessPrivateKey/releases/download/0.1/GuessPrivateKey.jar

Now you can roll the dice;-)

Type the command below:

java -jar GuessPrivateKey.jar 1 bit.txt (press enter)

Where the number 1 stands for the CPU's you want to use...so you can alter this to 2, 3, 4 etc... And bit.txt stands for the textfile with the bitcoinaddresses in it to search for (in this repositorie it's only an example of 6 addresses...but you can alter this in the way you want)

Cheers....

scorta commented 5 years ago

Thank Plaztomad & SatoshiNakamotoBitcoins

@sudheesh789, please check the readme: https://github.com/scorta/GuessPrivateKey You can also run this on Windows (almost all version, as long as it supports Java):

You need to know how to run jar file. If not, please read instruction elsewhere first.

sudheesh789 commented 5 years ago

@sudheesh789 When you running a Win10 machine, you can run a Windows Subsystem for Linux (WSL)

First execute step 1 in article link below:

https://www.kali.org/news/kali-linux-in-the-windows-app-store/

After that the system will reboot.

Go to the Windows app store and download and install Kali Linux (pin it to start; more easy to find startup icon)

Fire up Kali Linux...you will see a prompt like Ms-DOS but it isn't it's Kal Linux.

Go the step 2 in article link above...and type in the commands...but starting with the word sudo (activating superuser rights)

sudo apt-get update (press enter) sudo apt-get dist-upgrade (press enter)

After that go to the video in link above...and execute the commands which there will be explained.

Now we have to install a java packages on Linux

You can do this with the command sudo apt install default-jre (press enter)

And we have to install the package git; so we can easily download the Github repositories:

sudo apt-get install git (press enter)

And we have to install package wget (we will need this later)

sudo apt-get install wget (press enter)

Now you ready to roll!

First we gonna "clone" this repositorie, with the command:

git clone https://github.com/scorta/GuessPrivateKey.git (press enter)

The Private Key Guesser now is installed on your Kali Linux

Type the command ls...(like dir with windows) to see the directory structure

You will see GuessPrivateKey...(make sure the "capitals" are right)

After that type the command cd GuessPrivateKey...(likewise Windows ms-dos prompt)

After that you type ls again...you will see the files below:

bit.txt GuessPrivateKey.jar GuessPrivateKey.java README.md

Except the file GuessPrivateKey.jar....we have to download this directly into our GuessPrivateKey folder.

To do this (you are already navigated to the GuessPrivateKey folder), type the command:

wget https://github.com/scorta/GuessPrivateKey/releases/download/0.1/GuessPrivateKey.jar

Now you can roll the dice;-)

Type the command below:

java -jar GuessPrivateKey.jar 1 bit.txt (press enter)

Where the number 1 stands for the CPU's you want to use...so you can alter this to 2, 3, 4 etc... And bit.txt stands for the textfile with the bitcoinaddresses in it to search for (in this repositorie it's only an example of 6 addresses...but you can alter this in the way you want)

Cheers....

hi sorry for late reply.bcs i faced so problems on installation of kalilinux.now it will ok.

now this is the current situation

root@kali:~# cd GuessPrivateKey root@kali:~/GuessPrivateKey# ls bit.txt GuessPrivateKey.jar GuessPrivateKey.java README.md root@kali:~/GuessPrivateKey# java -jar GuessPrivateKey.jar 2 bit.txt Searching keys for Bitcoin address(es) from file bit.txt with 2 thread(s) SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Start importing list Bitcoin address(es) Imported 1 address(es). Start searching...

i import one address to bit.txt.it have balance also.but my pc still searching..what happend?it will take more time or not?.i have one gb ram in my pc.so i cant collide more address at one time.please give one soluton.why did get take toomuch time for collide one address?

thanks in advance scorta,Plaztomad & SatoshiNakamotoBitcoins

scorta commented 5 years ago

@sudheesh789, please read the README: https://github.com/scorta/GuessPrivateKey

SatoshiNakamotoBitcoins commented 5 years ago

@sudheesh789 It's fine...your engine is searching those "errors" are harmless...when the script finds a key it will create a .txt file into your folder with the name of the WIF key. When this is not possible for any reason it will print the WIF key to the screen.

So sometimes you have to check your folder for a new .txt file...;-)

Cheers...

SatoshiNakamotoBitcoins commented 5 years ago

@sudheesh789 And why it takes so long...because there are 115792089237316195423570985008687907853269984665640564039457584007913129639936 possibilities.

The ram will not be the issue. I would advise you to put more addresses into the bit.txt file

sudheesh789 commented 5 years ago

OK brother.. I agree. But after start searching.... Nothing will get happened on screen. Only just start searching. Otherwise no responds.. Is it need Internet or not?

sudheesh789 commented 5 years ago

"115792089237316195423570985008687907853269984665640564039457584007913129639936 "

I couldn't see these type of screen on my pc..after start searching..are u can suggest any update?

sudheesh789 commented 5 years ago

i just update to GuessPrivateKey.jar V0.15... now on the screen

root@kali:~/GuessPrivateKey# java -jar GuessPrivateKey.jar 2 bit.txt Searching keys for Bitcoin address(es) from file bit.txt with 2 thread(s) SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Start importing list Bitcoin address(es) Imported 42426 address(es) Run in "random" mode, checking from: null Run in "random" mode, checking from: null

maybe this is not your mistake.my pc problem.sorry i am going to quit from this..

SatoshiNakamotoBitcoins commented 5 years ago

@sudheesh789 I didn't tried the V0.15 version yet, but I see the dev implemented a sort of "Verbose" function, as we call it on Linux (it will state where it's checking from). But what I can see in your comment above it does state null instead of the real value. That's an question what the dev maybe can give an answer on @scorta .

But as far I can speak off the previous version, the script will prompt a message on your screen when it founds a key, like this..."Found a key!!!"

I would say give it another try...it's hard to find a key due to the big keyspace (a number with 78 decimal digits) but not impossible.

May the luck be on your side!

Cheers...

SatoshiNakamotoBitcoins commented 5 years ago

@sudheesh789 I've tried the V0.15 version it does run fine, it even found 2 keys, it will look like below:

Searching keys for Bitcoin address(es) from file Address1m.txt with 1 thread(s) SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Start importing list Bitcoin address(es) Imported 1091042 address(es) Run in "up" mode, checking from: 10 Found a key!!! Found a key!!!

Checking from gives a value with the incremental search command up or down, with the default random command it will state null because with this command the value is not applicable.

Cheers mate...

SatoshiNakamotoBitcoins commented 5 years ago

@sudheesh789

In this example in your folder will appear two keys as .txt file in WIF format, what will look like:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7DLFchDot.txt KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7ji4XTJwW.txt

Cheers

scorta commented 5 years ago

Thanks, @SatoshiNakamotoBitcoins, you explained it very well.

SatoshiNakamotoBitcoins commented 5 years ago

@scorta My pleasure!

wrcdcom commented 5 years ago

@scorta I want to ask, does the "bitcoinj" library need to be installed on a PC? @SatoshiNakamotoBitcoins I started "GuessPrivateKey" with Windows 7, I don’t know mine is underway, it’s written: Run in "random" mode, checking from: null Run in "random" mode, checking from: null

scorta commented 5 years ago

@wrcdcom bitcoinj is needed to compile only; you don't need it to run seriously, you need to understand what bitcoin private key is. Read the README again, carefully. But to be honest, this is not worth your time. Use your PC to mine altcoin, it's better.

wrcdcom commented 5 years ago

@scorta Is there any way to fix this error? Screenshot: https://ibb.co/sbVfxkY I added 3200000 Bitcoin Addresses to the list of the text document "bit.txt". Because of this, I get this error. On my PC, I can use 1700000 Bitcoin Addresses. Can I solve this problem to increase the list and continue the process?

scorta commented 5 years ago

@wrcdcom please take a look at: https://scorta.github.io/GuessPrivateKey/

TL;DR: use -Xmx For example, you can enter this command: java -Xmx -jar GuessPrivateKey.jar 2 bit.txt

but this means you are searching randomly, which is almost... hm... please read the section "ROOM FOR IMPROVEMENT" from the url above.

For a better approach, you can search sequentially from a number. For example:

Good luck.

wrcdcom commented 5 years ago

@scorta When running from a command with -Xmx, I get an error, can I solve this: https://ibb.co/2dYP8j5

scorta commented 5 years ago

Oh sorry, my brain was lagged :p -Xmx must specify the memory amount you want. So the right command should be something like: java -Xmx1000M -jar GuessPrivateKey.jar 2 bit.txt up 42758200014260304871795218010112217441437394933425264440882844866153524052696 -Xmx1000M means the program can use up to 1000MB ram. You can use more or less, depend on your PC & your list of bitcoin address size.

SatoshiNakamotoBitcoins commented 5 years ago

@wrcdcom

This message in "random" mode is just fine, it means that it does work...

Run in "random" mode, checking from: null

wrcdcom commented 5 years ago

@Scorta Thanks a great program. I uploaded more than 8 million Bitcoin Addresses to the "bit.txt" document and the program started. I run the same way you said through the command -Xmx1000M. @SatoshiNakamotoBitcoins please tell me friend in which mode to work and which is better: "random" or "up / down" ??? Purely mathematically according to the theory of probability of which one to choose?

SatoshiNakamotoBitcoins commented 5 years ago

@wrcdcom Hello my friend due to the fact that a proper generated private key wil be in the 254,255,256 bits range, wih a random search it will be not feasible. So to search within a specific range will be more succesfull. I do respect my friend scorta...but you also need to have a look a this repo...https://github.com/pikachunakapika/BitCrack this repo is a fork of this repo https://github.com/brichard19/BitCrack...the difference with the Picachu fork in comparisson to the original is the added flag -r (random)...so that means you can search within a specific keyrange, with applying flag --keyspace with also a random mode...this means bigger change for succes (read also the original repo of BRichard, all flags what you will see there are also applicable with the Picachu fork...so only added the -r flag (random). Also a big advantage of this repo's will be, they run on GPU...their is a version for CUDA (Nvidia) and OCL (AMD, Intel) depending on your GPU you will get a speed between 1 and 250 Mkeys...the app of scorta runs on CPU and will have a speed between 5 and 10 k pro CPU core...so that's a huge difference here...

Cheers

wrcdcom commented 5 years ago

@SatoshiNakamotoBitcoins Hello my friend ! Thanks for the advice. I want to ask if I can run "pikachunakapika / BitCrack" from a 32-bit computer running Windows 7? As I know, CUDA only works on 64 bit, but I think I can try it through OpenCL? Or am I mistaken in something?

SatoshiNakamotoBitcoins commented 5 years ago

@wrcdcom Hello my friend...try with CUDA when it doesn't works properly with CUDA you can ALWAYS try with OCL (performance with OCL will be slight less regarding to CUDA, but nevertheless good)