Текущее местоположение: Главная / Пароли, приватные ключи и повреждённые файлы / Текст статьи

Krux для опытных: кастомные скрипты восстановления кошелька и seed-фраз

Krux для опытных: кастомные скрипты восстановления кошелька и seed-фраз

Krux — это открытый аппаратный подписант для Bitcoin, который ценят за air-gapped-архитектуру, работу через QR-коды и SD-карту, а также за возможность самостоятельной сборки прошивки. Но когда речь заходит о восстановлении доступа к кошельку, стандартных сценариев «вставьте 12/24 слова» может не хватить. Именно поэтому тема Krux资深用户恢复脚本定制 — то есть индивидуальные скрипты восстановления для продвинутых пользователей — становится всё более востребованной. В этой статье мы разберём, как подойти к такой задаче безопасно, какие инструменты использовать и как не потерять средства в процессе.

Если вы только начинаете или не хотите писать код вручную, на сайте Восстановление криптокошельков (/) собраны пошаговые руководства по BIP39/BIP32, восстановлению MetaMask, Electrum, Ledger и других кошельков. Но для опытных пользователей Krux ниже — практическая база для кастомных сценариев.

Почему стандартного восстановления Krux не хватает

Krux хранит seed-фразу, умеет работать с BIP39-парольной фразой (passphrase), поддерживает PSBT, QR-подпись и резервные копии на SD-карте. Однако на практике встречаются ситуации, где обычный мастер восстановления бессилен:

  • Часть слов утеряна или записана с ошибкой. 11 из 12 слов известны, а одно — нет. Или перепутаны буквы, порядок, использован другой язык BIP39.
  • Забыта passphrase. Это не то же самое, что PIN. Без passphrase вы получаете другой кошелёк, даже если seed-фраза верна.
  • Повреждена или зашифрована резервная копия Krux. JSON/QR-файл может требовать расшифровки ключом, производным от PIN.
  • Нестандартный derivation path. Например, использовался BIP86, мультисиг или нестандартный аккаунт.
  • Мультисиг-кошелёк. Нужно собрать дескриптор из нескольких xpub и проверить адреса.
  • SLIP39 или Shamir-схема. Требуется собрать threshold-доли в правильном порядке.

Во всех этих случаях помогает кастомный скрипт восстановления Krux: он автоматизирует генерацию кандидатов, проверку контрольной суммы BIP39, деривацию ключей и сравнение адресов. Главное — запускать его в полностью офлайн-среде.

Что понадобится для кастомного восстановления

Минимальный набор:

  • Изолированный компьютер. Лучше всего — отдельная машина с Tails/Ubuntu Live, без Wi-Fi и Bluetooth, с отключённым сетевым кабелем. В идеале — одноразовая USB-флешка и RAM-only сессия.
  • Python 3.10+ и библиотеки. embit, mnemonic, bip32utils, base58, ecdsa, cryptography. Для расшифровки — pycryptodome или cryptography.
  • btcrecover. Хорошо подходит для восстановления BIP39 seed-фраз, password/passphrase и некоторых форматов кошельков.
  • HashCat. Для поддерживаемых форматов паролей кошельков. Не пытайтесь применять его вслепую к Krux: сначала проверьте формат.
  • Bitcoin Core / Electrum / Sparrow Wallet. Для watch-only проверки адресов и балансов. Свои seed-фразы на онлайн-машину не вводите.
  • SD-картридер и, при необходимости, сам Krux. Для извлечения резервной копии и проверки прошивки.

Ключевое правило: все секреты — только на офлайн-машине. Любое脚本, которое требует интернет, считается потенциально опасным.

восстановление криптокошельков

Анатомия кастомного скрипта восстановления Krux

Хороший скрипт состоит из пяти независимых блоков. Это позволяет тестировать каждый этап и не терять контроль.

1. Сбор и нормализация данных

Сначала соберите всё, что известно: слова, их позиции, язык BIP39, возможные passphrase, PIN, derivation path, известные адреса, xpub, дату создания кошелька, количество транзакций. Нормализуйте слова: нижний регистр, удаление пробелов, замена похожих символов (0/O, 1/l/I), проверка по официальному wordlist.

2. Генерация кандидатов

Если не хватает одного слова, перебираем 2048 вариантов из словаря BIP39. Если двух — уже 4 194 304 комбинации. Для трёх и более слов нужны эвристики: частота ошибок OCR, замена местами, пропуски, фонетические ошибки, слова из той же начальной буквы. Скрипт должен уметь исключать заведомо неверные варианты и останавливаться по чекпоинтам.

3. Проверка BIP39 checksum

Не все комбинации валидны. BIP39 использует контрольную сумму: для 12 слов — 4 бита, для 24 — 8 бит. Библиотека mnemonic или embit.bip39 позволяет проверить кандидат до деривации. Это ускоряет перебор в разы.

4. Деривация и проверка адресов

После валидной seed-фразы скрипт должен вывести корневой ключ и пройти по возможным путям:

  • m/44'/0'/0' — legacy;
  • m/49'/0'/0' — P2SH-P2WPKH;
  • m/84'/0'/0' — native SegWit;
  • m/86'/0'/0' — Taproot;
  • мультисиг-дескрипторы.

Затем сравните первые N адресов с известными вам адресами или xpub. Если есть xpub, проверку можно делать на watch-only кошельке, не раскрывая seed.

восстановление криптокошельков

5. Расшифровка резервных копий Krux

Krux может хранить зашифрованный mnemonic. Формат зависит от версии прошивки. Обычно ключ выводится из PIN/passphrase через PBKDF2, а данные шифруются AES. Точные параметры — соль, итерации, режим — берите из исходного кода именно вашей версии. Не пытайтесь угадать: ошибка в одном параметре даст мусор. Если PIN забыт, можно организовать офлайн-перебор, но только для собственного бэкапа и только в изолированной среде.

Пример логики скрипта на Python

Ниже — упрощённый псевдокод. Он не претендует на универсальность, но показывает подход.

from embit import bip39
from mnemonic import Mnemonic
import itertools

wordlist = Mnemonic('english').wordlist
known = {0: 'abandon', 1: 'ability', 2: 'able', ...}  # пример
unknown_positions = [3, 7]
candidates = []

for words in itertools.product(wordlist, repeat=len(unknown_positions)):
    phrase = known.copy()
    for pos, word in zip(unknown_positions, words):
        phrase[pos] = word
    phrase_str = ' '.join(phrase[i] for i in range(12))
    if bip39.mnemonic_is_valid(phrase_str):
        candidates.append(phrase_str)

for phrase in candidates:
    seed = bip39.mnemonic_to_seed(phrase, passphrase='')
    # деривация BIP84, сравнение адресов

![восстановление криптокошельков](/upload/upload/17/12a119fd56da7046e7c388a90305cbd2_800_600.jpg)

Для реального перебора добавьте чекпоинты, многопоточность, ограничение памяти и шифрование логов. Не сохраняйте найденную seed-фразу на диск — только в RAM, после чего немедленно перенесите на новый аппаратный кошелёк.

Сценарии定制: от частичной фразы до мультисига

  • Частичная seed-фраза. Одно неизвестное слово — минуты. Два — часы. Три и больше — нужны мощные эвристики и GPU.
  • Забытая passphrase. Перебор по словарю, правилам, датам, именам. BIP39 passphrase может быть любой строкой, поэтому важны гипотезы.
  • Мультисиг. Соберите дескриптор wsh(sortedmulti(2, xpub1, xpub2, xpub3)) и проверьте адреса. Krux может подписывать PSBT, но восстановление дескриптора требует отдельного скрипта.
  • SLIP39/Shamir. Нужны все доли или threshold. Скрипт должен проверить порядок, контрольные суммы и восстановить мастер-секрет.
  • Нестандартный путь. Иногда пользователи создавали несколько аккаунтов. Перебирайте account, change, index в разумных пределах.

Оптимизация и безопасность

Скорость. BIP39-валидация дешёвая, деривация дороже. Сначала проверяйте checksum, затем первые адреса. Для больших переборов используйте GPU только там, где это оправдано.

Чекпоинты. Скрипт должен уметь продолжить с последнего кандидата. Иначе при сбое вы потеряете дни работы.

Логи. Не пишите seed-фразу в логи. Логируйте только индексы и хеши кандидатов. После завершения — wipe.

Офлайн. Tails, отключённый интернет, проверка SHA256 скриптов, подписанные коммиты. Не запускайте незнакомый код на машине, где есть доступ к вашим ключам.

Тест на малых суммах. Если вы восстановили кошелёк, сначала отправьте небольшую сумму на новый адрес, проверьте подпись, и только потом переводите всё.

Когда стоит использовать готовые руководства

Кастомный скрипт — мощный инструмент, но он требует опыта: понимания BIP39, BIP32, дескрипторов, PSBT и криптографии. Если вы не уверены в своих силах, начните с проверенных инструкций. На сайте Восстановление криптокошельков (/) есть материалы по Krux, btcrecover, HashCat, Electrum, Ledger и MetaMask — от базовой диагностики до сложных сценариев. Там же описаны меры профилактики:多重备份,分片存储, проверка бэкапов и безопасная работа с passphrase.

Итог

Krux для опытных пользователей — это не только аппаратный подписант, но и открытая платформа для кастомных сценариев восстановления. Если стандартное восстановление не сработало, скрипт помогает перебрать частичную seed-фразу, проверить passphrase, собрать мультисиг-дескриптор или расшифровать резервную копию. Главное — работать офлайн, проверять формат по исходникам Krux и не рисковать средствами на непроверенном коде. Начните с малого: изолируйте среду, соберите данные, протестируйте скрипт на известном кошельке. И только затем переходите к реальному восстановлению.