Bitcoin Forum
September 22, 2025, 08:36:35 AM *
News: Latest Bitcoin Core release: 29.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Bitcoin Technical Support / that is the solution on: December 12, 2023, 02:24:28 AM
 Tongue

(install all import needed (pip install os , pip install codecs , pip install hashlib , pip install base58 , pip install ecdsa )

1.first create file find.txt in new folder
2.create new file named decode.py
3.in decode.py tag this code python
4.go on code and remplace the line taged private key hex here dont dont errase ("")
5.at the end of your private key hex add ***** for preset your 5 chars loss
6.run the code with ( python decode.py ) and just wait the end of your try
7.for succes find pay me at this addresse   bc1qzk2xnjrf2h87h3p2cn344wfc92l0jz7seq886w
8.thanck you at the next time

import os
import codecs
import hashlib
import base58
import ecdsa

def generer_sequences():
    caracteres = "0123456789ABCDEF"
    sequences = [c1 + c2 + c3 + c4 + c5 for c1 in caracteres for c2 in caracteres for c3 in caracteres for c4 in caracteres for c5 in caracteres]
    return sequences

def remplacer_caracteres(chaine_originale, sequence):
    nouvelle_chaine = ""
    index_sequence = 0

    for caractere in chaine_originale:
        if caractere == '*':
            nouvelle_chaine += sequence[index_sequence]
            index_sequence = (index_sequence + 1) % len(sequence)
        else:
            nouvelle_chaine += caractere

    return nouvelle_chaine

def private_key_to_wif(private_key_hex: str) -> str:
    extended_key = "80" + private_key_hex
    first_sha256 = hashlib.sha256(codecs.decode(extended_key, 'hex')).hexdigest()
    second_sha256 = hashlib.sha256(codecs.decode(first_sha256, 'hex')).hexdigest()
    final_key = codecs.decode(extended_key + second_sha256[:8], 'hex')
    return base58.b58encode(final_key).decode('utf-8')

def private_key_to_address(private_key_hex: str) -> str:
    sk = ecdsa.SigningKey.from_string(codecs.decode(private_key_hex, 'hex'), curve=ecdsa.SECP256k1)
    vk = sk.get_verifying_key()
    public_key = b'\x04' + vk.to_string()
    hash160 = hashlib.new('ripemd160')
    hash160.update(hashlib.sha256(public_key).digest())
    hash160 = hash160.digest()
    return base58.b58encode_check(b"\x00" + hash160).decode('utf-8')

# Génération des séquences
sequences = generer_sequences()

# Chaîne d'origine
chaine_originale = "private key hex here"

# Itération sur les séquences
for i, sequence in enumerate(sequences, start=1):
    # Chaîne modifiée
    chaine_modifiee = remplacer_caracteres(chaine_originale, sequence)

    # Vérifier la longueur de la chaîne modifiée
    if len(chaine_modifiee) != 64:
        print(f"Erreur : La chaîne modifiée a une longueur incorrecte ({len(chaine_modifiee)} caractères).")
        break

    # Conversion de la chaîne modifiée en clé privée WIF
    cle_privee_wif = private_key_to_wif(chaine_modifiee)

    # Conversion de la clé privée en adresse Bitcoin
    try:
        adresse_bitcoin = private_key_to_address(chaine_modifiee)

        # Adresse Bitcoin fournie
        adresse_fournie = "1KDUcZh5Z6H1of4Pwoy5ojJtkQxcQBHhnH"

        # Vérification si les adresses sont identiques
        if adresse_bitcoin == adresse_fournie:
            # Enregistrement dans le fichier find.txt
            with open("find.txt", "w") as fichier:
                fichier.write(f"Clé privée WIF   : {cle_privee_wif}\n")
                fichier.write(f"Adresse Bitcoin  : {adresse_bitcoin}\n")
            print("Clé privée WIF et adresse enregistrées dans find.txt")
            break  # Arrête la boucle après avoir trouvé une correspondance
        else:
            print(f"Les adresses ne sont pas identiques pour la séquence {sequence}. (Essai {i})")
    except ecdsa.errors.MalformedPointError as e:
        print(f"Erreur : {e}")
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!