Post
Topic
Board Development & Technical Discussion
Re: BitCrack - A tool for brute-forcing private keys
by
zahid888
on 08/05/2021, 16:30:20 UTC
Is there any way to guess any letters of key 64, As on the basis of similarities between these two keys ?
16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN - HuhHuhHuhHuhHuhHuh
16jY7qLJnxLQQRYPX5BLuCtcBs6tvXz8BE - 3AD3536AEA8CEB2B0
16jY7qLJnx2EZZumnYFke3GutCrRnHKs1M - 7013536A91A6441B0


Theoretically we can replace the black characters with 1111 and zzzz so that we have two strings, then we convert them into numbers. Basic sequential counting is cheap compared to the cryptographic hashing done on each PK so with a fast Base58-to-hex converter, we can successively increment those black characters from 1 to z.

hello,

you mean to say something like that ??

Code:
from bit import *
from bitcoin import *
import random

list = ["16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN","13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so","1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9","1MVDYgVaSN6iKKEsbzRUAYFrYJadLYZvvZ"]
while 1==1:
   a = random.randrange(144,255)
   while a <= 4095:
       a+=1
       b = ("3536A")
       c = random.randrange(16777216,268435455)
       d = ("b0")
       myhexa = "%050x" % a
       myhexc = "%0x" % c
       j = (myhexa+b+myhexc+d)
       priv = j
       pub = privtopub(priv)
       pubkey1 = encode_pubkey(privtopub(priv), "bin_compressed")
       addr = pubtoaddr(pubkey1)#compressed
       s1 = j
       s2 = addr
       if addr in list:
            print ("...............FOUND.............")
            f=open(u"C:/found.txt","a")
            f.write(s2+" ")
            #f.write(s3+" ")
            f.write(s1+"\n")
            f.close()
            break
       if addr.startswith("16j")or addr.startswith("13z")or addr.startswith("1B8")or addr.startswith("1MV")::
           print(j,addr)