Dans l'ancien Kahndaq, Teth Adam a reçu les pouvoirs tout-puissants des dieux. Après avoir utilisé ces pouvoirs pour se venger, il a été emprisonné, devenant Black Adam. Près de 5 000 ans se sont écoulés et Black Adam est passé de l'homme au mythe puis à la légende.

Date de sortie : 19 octobre 2022 (France)

Réalisateur : Jaume Collet-Serra

Scénario : Jaume Collet-Serra, Sohrab Noshirvani, Adam Sztykiel, Rory Haines

Producteurs : Dwayne Johnson, Dany Garcia, Hiram Garcia, Beau Flynn

Sociétés de production : Seven Bucks Productions, DC Studios, New Line Cinema, Flynn Picture Company

Pays de production : États-Unis


import random

import hashlib

import requests

import bitcoin


def generate_private_key():

    # Générer une clé privée aléatoire

    private_key = bitcoin.random_key()

    return private_key


def private_key_to_address(private_key):

    # Convertir la clé privée en adresse Bitcoin non-compressée

    public_key = bitcoin.privkey_to_pubkey(private_key)

    address = bitcoin.pubkey_to_address(public_key)

    return address


def private_key_to_address2(private_key):

    # Convertir la clé privée en adresse Bitcoin compressée

    public_key = bitcoin.privkey_to_pubkey(private_key)

    compressed_public_key = bitcoin.compress(public_key)

    address2 = bitcoin.pubkey_to_address(compressed_public_key)

    return address2

def private_key_to_address3(private_key):

    # Convertir la clé privée en adresse Bitcoin P2SH (commençant par 3)

    public_key = bitcoin.privkey_to_pubkey(private_key)

    redeem_script = bitcoin.mk_multisig_script(public_key, public_key) # Multisig à 2/2 pour cet exemple

    script_hash = hashlib.new('ripemd160', hashlib.sha256(redeem_script).digest()).digest()

    address3 = bitcoin.hash160_to_bc_address(script_hash, "3")

    return address3


def private_key_to_address4(private_key):

    # Convertir la clé privée en adresse Bitcoin Bech32 (commençant par bc1)

    public_key = bitcoin.privkey_to_pubkey(private_key)

    # Utilisez une clé publique compressée pour obtenir l'adresse Bech32

    compressed_public_key = bitcoin.compress(public_key)

    address4 = bitcoin.pubkey_to_bech32(compressed_public_key)

    return address4


def load_addresses_from_file(file_path):

    # Charger les adresses depuis un fichier

    with open(file_path, 'r') as file:

        addresses = set(file.read().splitlines()) # Utiliser un set pour une recherche rapide

    return addresses


def main():

# Charger les adresses à partir de rich2.txt

    addresses_to_check = load_addresses_from_file('keyhunt/rich2.txt')

    # Afficher le nombre d'adresses chargées

    print(f'Nombre d\'adresses dans rich2.txt : {len(addresses_to_check)}')


    counter = 0


    while True:

        try:

            private_key = generate_private_key()

            address = private_key_to_address(private_key)

            address2 = private_key_to_address2(private_key)

            address3 = private_key_to_address3(private_key)

            address4 = private_key_to_address4(private_key)


            print(f'Clés-Privée: {private_key}')

            print(f'BTC Non-Compressé : {address}')

            print(f'BTC Compressé : {address2}')

            print(f'BTC bc1 : {address4}')

            print(f'BTC 3 : {address3}')

            print(f'Nombres de clés recherchées: {counter}')

            print('————————————————————————————————————————————————————————')

            # Vérifier si l'adresse générée se trouve dans rich2.txt

            if address in addresses_to_check:

                print(f'Adresse trouvée dans rich2.txt: {address}')

                with open("found.txt", "w") as file:

                    file.write(f"Clé Privée: {private_key}\n")

                    file.write(f"BTC Non-Compressé : {address}\n")

                    file.write(f"BTC Compressé : {address2}\n")

                    file.write(f"BTC bc1 : {address4}\n")

                    file.write(f"BTC 3 : {address3}\n")

                exit()


            if address2 in addresses_to_check:

                print(f'Adresse trouvée dans rich2.txt: {address2}')

                with open("found.txt", "w") as file:

                    file.write(f"Clé Privée: {private_key}\n")

                    file.write(f"BTC Non-Compressé : {address}\n")

                    file.write(f"BTC Compressé : {address2}\n")

                    file.write(f"BTC bc1 : {address4}\n")

                    file.write(f"BTC 3 : {address3}\n")

                exit()


            if address3 in addresses_to_check:

                print(f'Adresse trouvée dans rich2.txt: {address3}')

with open("found.txt", "w") as file:

                    file.write(f"Clé Privée: {private_key}\n")

                    file.write(f"BTC Non-Compressé : {address}\n")

                    file.write(f"BTC Compressé : {address2}\n")

                    file.write(f"BTC bc1 : {address4}\n")

                    file.write(f"BTC 3 : {address3}\n")

                exit()


            if address4 in addresses_to_check:

                print(f'Adresse trouvée dans rich2.txt: {address4}')

                with open("found.txt", "w") as file:

                    file.write(f"Clé Privée: {private_key}\n")

                    file.write(f"BTC Non-Compressé : {address}\n")

                    file.write(f"BTC Compressé : {address2}\n")

                    file.write(f"BTC bc1 : {address4}\n")

                    file.write(f"BTC 3 : {address3}\n")

                exit()


            counter += 1


        except Exception as e:


if __name__ == '__main__': main()