Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 17, 2022 02:40 am GMT

Bitcoin Private Key Finder and Generator address , hack wallet with python

Bitcoin Private Key Wallet Finder
Generator address and Private Key
Received input Range For user
use python 3.8 and Pycharm Professional , blockcypher , moneywagon urlib satoshi package for this project.

pip install blockcypherpip install moneywagonpip install urllibpip install satoshi

after install all package create file utils.py for config and setting base program . you can visit my youtube channel and follow this project video ( title youtube on my channel ):

Bitcoin Private Key Finder and Generator Auto With Python.
youtu.be/0MvjIxy4vBQ

bitcoin private key generator with python
after create file utils.py on director base project first import this package from this python coding :

from hashlib import sha256from typing import Union

after insert this package entered all cod on file utils.py :

class Point(object):    def __init__(self, _x, _y, _order=None):        self.x, self.y, self.order = _x, _y, _order    def calc(self, top, bottom, other_x):        ll = (top * inverse_mod(bottom)) % p        x3 = (ll * ll - self.x - other_x) % p        return Point(x3, (ll * (self.x - x3) - self.y) % p)    def double(self):        if self == INFINITY:            return INFINITY        return self.calc(3 * self.x * self.x, 2 * self.y, self.x)    def __add__(self, other):        if other == INFINITY:            return self        if self == INFINITY:            return other        if self.x == other.x:            if (self.y + other.y) % p == 0:                return INFINITY            return self.double()        return self.calc(other.y - self.y, other.x - self.x, other.x)    def __mul__(self, e):        if self.order:            e %= self.order        if e == 0 or self == INFINITY:            return INFINITY        result, q = INFINITY, self        while e:            if e & 1:                result += q            e, q = e >> 1, q.double()        return result    def __str__(self):        if self == INFINITY:            return "infinity"        return "%x %x" % (self.x, self.y)p, INFINITY = (    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F,    Point(None, None),)  # secp256k1g = Point(    0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798,    0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8,    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141,)def inverse_mod(a):    if a < 0 or a >= p:        a = a % p    c, d, uc, vc, ud, vd = a, p, 1, 0, 0, 1    while c:        q, c, d = divmod(d, c) + (c,)        uc, vc, ud, vd = ud - q * uc, vd - q * vc, uc, vc    if ud > 0:        return ud    return ud + pBITCOIN_ALPHABET = b"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"def scrub_input(v: Union[str, bytes]) -> bytes:    if isinstance(v, str):        v = v.encode("ascii")    return vdef b58encode_int(    i: int, default_one: bool = True, alphabet: bytes = BITCOIN_ALPHABET) -> bytes:    """    Encode an integer using Base58    """    if not i and default_one:        return alphabet[0:1]    string = b""    while i:        i, idx = divmod(i, 58)        string = alphabet[idx : idx + 1] + string    return stringdef b58encode(v: Union[str, bytes], alphabet: bytes = BITCOIN_ALPHABET) -> bytes:    """    Encode a string using Base58    """    v = scrub_input(v)    nPad = len(v)    v = v.lstrip(b"\0")    nPad -= len(v)    p, acc = 1, 0    for c in reversed(v):        acc += p * c        p = p << 8    result = b58encode_int(acc, default_one=False, alphabet=alphabet)    return alphabet[0:1] * nPad + resultdef b58decode_int(v: Union[str, bytes], alphabet: bytes = BITCOIN_ALPHABET) -> int:    """    Decode a Base58 encoded string as an integer    """    v = v.rstrip()    v = scrub_input(v)    decimal = 0    for char in v:        decimal = decimal * 58 + alphabet.index(char)    return decimaldef b58decode(v: Union[str, bytes], alphabet: bytes = BITCOIN_ALPHABET) -> bytes:    """    Decode a Base58 encoded string    """    v = v.rstrip()    v = scrub_input(v)    origlen = len(v)    v = v.lstrip(alphabet[0:1])    newlen = len(v)    acc = b58decode_int(v, alphabet=alphabet)    result = []    while acc > 0:        acc, mod = divmod(acc, 256)        result.append(mod)    return b"\0" * (origlen - newlen) + bytes(reversed(result))

save this file and this directory create file btc with any name.py .( my file name has " btcGeneratorWallet.py " ) and first import this package for project in first file :

import argparseimport hashlibimport osfrom binascii import hexlify, unhexlifyfrom struct import Structfrom utils import g, b58encode, b58decodeimport blockcypherfrom moneywagon import AddressBalanceimport requestsfrom urllib.request import urlopenfrom urllib.request import Requestimport satoshiimport re

after import package can insert all code your file.py :

PACKER = Struct(">QQQQ")def count_leading_zeroes(s):    count = 0    for c in s:        if c == "\0":            count += 1        else:            break    return countdef base58_check_encode(prefix, payload, compressed=False):    # Add version byte in front of RIPEMD-160 hash (0x00 for Main Network)    s = prefix + payload    if compressed:        s = prefix + payload + b"\x01"    # Add the 4 checksum bytes at the end of extended RIPEMD-160 hash. This is the 25-byte binary Bitcoin Address.    checksum = hashlib.sha256(hashlib.sha256(s).digest()).digest()[0:4]    result = s + checksum    return "1" * count_leading_zeroes(result) + b58encode(result).decode()def pub_key_to_addr(s):    ripemd160 = hashlib.new("ripemd160")    hash_sha256 = hashlib.new("SHA256")    # Perform SHA-256 hashing on the public key    hash_sha256.update(bytes.fromhex(s))    # Perform RIPEMD-160 hashing on the result of SHA-256    ripemd160.update(hash_sha256.digest())    return base58_check_encode(b"\0", ripemd160.digest())def btcwb(number):    number0 = number >> 192    number1 = (number >> 128) & 0xFFFFFFFFFFFFFFFF    number2 = (number >> 64) & 0xFFFFFFFFFFFFFFFF    number3 = number & 0xFFFFFFFFFFFFFFFF    private_key = hexlify(PACKER.pack(number0, number1, number2, number3)).decode(        "utf-8"    )    ###############################################    print("Converting from: " + str(int(private_key, 16)))    ###############################################    compressed_key = base58_check_encode(b"\x80", unhexlify(private_key), True)    ###############################################    print("Private key    : " + compressed_key)    ###############################################    # address    x, y = str(g * int(private_key, 16)).split()    len1 = len(x)    len2 = len(y)    if len1 != 64:        z = 64 - len1        x = "0" * z + x    if len2 != 64:        z = 64 - len2        y = "0" * z + y    compressed_public_key_with_out_prefix = x + y    pk_prefix = "02"    if not int(compressed_public_key_with_out_prefix[64:], 16) % 2 == 0:        pk_prefix = "03"    compressed_public_key = pk_prefix + compressed_public_key_with_out_prefix[:64]    ###############################################    print("Public key     : " + compressed_public_key)    print("Bitcoin address: " + pub_key_to_addr(compressed_public_key))    with open("wallet.txt", "a") as f:        f.write(            "Converting from: "            + str(int(private_key, 16))            + "
Private key: " + compressed_key + "
Public key: " + compressed_public_key + "
Bitcoin address: " + pub_key_to_addr(compressed_public_key) + "
#####################################################################



" )def int_to_address(number): number0 = number >> 192 number1 = (number >> 128) & 0xFFFFFFFFFFFFFFFF number2 = (number >> 64) & 0xFFFFFFFFFFFFFFFF number3 = number & 0xFFFFFFFFFFFFFFFF private_key = hexlify(PACKER.pack(number0, number1, number2, number3)).decode( "utf-8" ) ############################################### print("Converting from: " + str(int(private_key, 16))) ############################################### compressed_key = base58_check_encode(b"\x80", unhexlify(private_key), True) ############################################### print("Private key : " + compressed_key) ############################################### # address x, y = str(g * int(private_key, 16)).split() len1 = len(x) len2 = len(y) if len1 != 64: z = 64 - len1 x = "0" * z + x if len2 != 64: z = 64 - len2 y = "0" * z + y compressed_public_key_with_out_prefix = x + y pk_prefix = "02" if not int(compressed_public_key_with_out_prefix[64:], 16) % 2 == 0: pk_prefix = "03" compressed_public_key = pk_prefix + compressed_public_key_with_out_prefix[:64] ############################################### print("Public key : " + compressed_public_key) ############################################### ############################################### print("Bitcoin address: " + pub_key_to_addr(compressed_public_key)) try: total = blockcypher.get_total_balance(pub_key_to_addr(compressed_public_key)) except: total = AddressBalance().action("btc", pub_key_to_addr(compressed_public_key)) total_fiat = satoshi.to_fiat(int(total)) # r = requests.get("https://blockchain.infor/rawaddr/{}".format(pub_key_to_addr(compressed_public_key))) tr = Request( "https://blockchain.info/q/getreceivedbyaddress/" + pub_key_to_addr(compressed_public_key) ) total_received = str(urlopen(tr).read()) trr = total_received[2:][:-1] total_fiat_received = satoshi.to_fiat(int(trr)) ts = Request( "https://blockchain.info/q/getsentbyaddress/" + pub_key_to_addr(compressed_public_key) ) total_sent = str(urlopen(ts).read()) tsr = total_sent[2:][:-1] total_fiat_sent = satoshi.to_fiat(int(tsr)) # print('$'+str(s)) print("Total Sent : " + str(tsr) + " || $" + str(total_fiat_sent)) print("Total Received : " + str(trr) + " || $" + str(total_fiat_received)) print("Final Balance : " + str(total) + " || $" + str(total_fiat) + "
") # stotal = blockcypher.from_satoshis(total, 'btc') with open("walletb.txt", "a") as f: f.write( "Converting from: " + str(int(private_key, 16)) + "
Private key: " + compressed_key + "
Public key: " + compressed_public_key + "
Bitcoin address: " + pub_key_to_addr(compressed_public_key) + "
Fianl Balance: " + str(total) + "
Total Received : " + str(trr) + " || $" + str(total_fiat_received) + "
Total Sent : " + str(tsr) + " || $" + str(total_fiat_sent) + "
#####################################################################



" ) if 0 < total: print(pub_key_to_addr(compressed_public_key) + " : " + total) with open("wallet_with_money.txt", "a") as m: m.write( "Converting from: " + str(int(private_key, 16)) + "
Private key: " + compressed_key + "
Public key: " + compressed_public_key + "
Bitcoin address: " + pub_key_to_addr(compressed_public_key) + "
Bitcoin Balance: " + str(total) + "
#####################################################################



" ) else: pass ###############################################def wif_to_key(wif): slicer = 4 if wif[0] in ["K", "L"]: slicer = 5 return hexlify(b58decode(wif)[1:-slicer]).decode("utf-8")def main(): try: os.system(r"cls") except: os.system(r"clear") print( """ ____ _____ ____ __ __ _ _ _ ____ _ | __ )_ _/ ___| \ \ / /_ _| | | ___| |_ / ___| ___ _ __ ___ _ __ __ _| |_ ___ _ __ | _ \ | || | \ \ /\ / / _` | | |/ _ \ __| | | _ / _ \ '_ \ / _ \ '__/ _` | __/ _ \| '__|| |_) || || |___ \ V V / (_| | | | __/ |_ | |_| | __/ | | | __/ | | (_| | || (_) | | |____/ |_| \____| \_/\_/ \__,_|_|_|\___|\__| \____|\___|_| |_|\___|_| \__,_|\__\___/|_| Author : Mohammadreza (MMDRZA.COM) Github : https://mmdrza.com [1] Generate a List of Wallets with a Range [with Balances][2] Generate a List of Wallets with a Range [without Balances][3] Guess a Number List to Generate a Wallet'q' for quit """ ) x = input(">>> ") if x == "q": try: quit() except: exit() elif x == "1": r1 = int(input("Input Starting Range :> ")) r2 = int(input("Input Ending Range :> ")) for x in range(r1, r2): int_to_address(x) elif x == "2": r1 = int(input("Input Starting Range :> ")) r2 = int(input("Input Ending Range :> ")) for x in range(r1, r2): btcwb(x) elif x == "3": print("Enter your lucky number in the following format:") print("ex: 1 2 456 788 123 657 11 66 234 68 23
") array = map(int, input("Enter Numbers by Keeping Space : ").split()) for i in array: int_to_address(i) i += 1 else: print("Command not Recognized")main()

for running this file and received result use this common in your terminal ( or cmd ) :

python btcGeneratorWallet.py ( this my file )
python <filename>.py

easy finder bitcoin private key wallet ( generator and finder )
can visit this site: https://key.config.ws for bitcoin wallet generator and keyword automatic finder free online .


Original Link: https://dev.to/pymmdrza/bitcoin-private-key-finder-and-generator-address-hack-wallet-with-python-1eo0

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To