• XSS.stack #1 – первый литературный журнал от юзеров форума

Мануал/Книга Mnemonic check

brumsy

RAID-массив
Пользователь
Регистрация
12.05.2023
Сообщения
81
Решения
1
Реакции
33
Код на Python, который генерирует мнемонические фразы и сверяет их адреса с базой данных в формате .txt. При совпадении создается отдельный файл.

Python:
import hashlib
import binascii
import hmac
import os
import secrets
import time

from bip32utils import BIP32Key
from mnemonic import Mnemonic

def generate_mnemonic():
    # Генерируем случайную энтропию
    entropy = secrets.token_bytes(16)
    mnemonic = Mnemonic('english').to_mnemonic(entropy)
    return mnemonic

def generate_address(mnemonic):
    # Получаем сид из мнемонической фразы
    seed = Mnemonic.to_seed(mnemonic)

    # Создаем ключ BIP32
    root = BIP32Key.fromEntropy(seed)

    # Получаем публичный адрес
    address = root.Address()

    return address

def check_addresses(database_file, num_addresses):
    with open(database_file, 'r') as file:
        # Читаем базу данных с адресами
        addresses = [line.strip() for line in file]

    found_addresses = []
    attempts = 0

    start_time = time.time()

    while len(found_addresses) < num_addresses:
        mnemonic = generate_mnemonic()
        address = generate_address(mnemonic)
        attempts += 1

        if address in addresses:
            found_addresses.append((mnemonic, address))
            # Создаем файл с мнемонической фразой, связанной с найденным адресом
            filename = f"found_mnemonic_{address}.txt"
            create_file_with_mnemonic(mnemonic, filename)

        # Выводим информацию о состоянии перебора каждые 1000 попыток
        if attempts % 1000 == 0:
            elapsed_time = time.time() - start_time
            speed = attempts / elapsed_time
            print(f"Проверено сид-фраз: {attempts}, Найдено адресов: {len(found_addresses)}, Скорость: {speed:.2f} попыток/сек")

    return found_addresses

def create_file_with_mnemonic(mnemonic, filename):
    with open(filename, 'w') as file:
        file.write(mnemonic)

# Пример использования
num_addresses = 10  # Количество адресов для проверки
database_path = os.path.join(r'database.txt')
found_addresses = check_addresses(database_path, num_addresses)

print("Найденные адреса в базе данных:")
if found_addresses:
    for mnemonic, address in found_addresses:
        print("Мнемоническая фраза:", mnemonic)
        print("Адрес:", address)
        print("---------------------------")
else:
    print("Адресов не найдено.")

Для работы этого кода необходимо установить следующие зависимости:
- `bip32utils` (установка через `pip install bip32utils`)
- `mnemonic` (установка через `pip install mnemonic`)

Замените `'database.txt'` в вызове функции `check_addresses` на путь к вашему файлу с базой данных.
В базе данных ожидается, что каждый адрес будет записан на новой строке.

Функция `create_file_with_mnemonic`, которая создает файл с мнемонической фразой, если найден совпадающий адрес.
Файл будет создан для каждого найденного адреса и будет иметь имя вида `found_mnemonic_{адрес}.txt`.
Фраза будет записана в файл.
После вывода найденных адресов на экран, код создаст соответствующие файлы с мнемоническими фразами, если найдены совпадения.
Файлы будут созданы в той же директории, где запущен скрипт.
Убедитесь, что у вас есть файл базы данных с адресами, и его путь правильно указан в коде (замените `'database.txt'` на соответствующий путь к вашему файлу).


ПыСы: Если нужно что-то подобное, но по вашим хотелкам, могу подсказать или посодействовать.
Так же открыт к предложениям по данной тематике!
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх