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

高级脚本恢复Uniswap钱包密码教程: восстановление пароля кошелька Uniswap скриптами

高级脚本恢复Uniswap钱包密码教程: восстановление пароля кошелька Uniswap скриптами

高级脚本恢复Uniswap钱包密码教程 — практическое руководство по восстановлению доступа к Ethereum-кошельку, который вы используете для Uniswap. Сразу уточним: Uniswap не хранит пароли и не является кастодиальным сервисом. Пароль защищает локальный keystore или vault в MetaMask, Trust Wallet, MyEtherWallet, Coinbase Wallet и других кошельках. Если вы забыли пароль, но у вас есть файл хранилища или seed-фраза, шанс на восстановление остаётся. На сайте Восстановление криптокошельков вы найдёте проверенные офлайн-методики, а ниже — расширенный сценарий со скриптами.

Почему Uniswap не восстанавливает пароль

  • Uniswap — децентрализованный протокол обмена, он не имеет доступа к вашему кошельку.
  • Пароль шифрует приватный ключ на вашем устройстве.
  • Без keystore/vault или seed-фразы восстановление невозможно.
  • Все действия выполняйте только для собственного кошелька и только офлайн.

Подготовка

Вам понадобятся:

  • копия keystore JSON, vault-файла или данных расширения MetaMask;
  • отдельный офлайн-компьютер или загрузочная Linux-флешка;
  • GPU/CPU для Hashcat, btcrecover, John the Ripper;
  • словари: rockyou.txt, weakpass, списки русских паролей, крипто-терминов;
  • предположения о пароле: длина, даты, имена, старые привычки.

Где искать данные

  • MetaMask: папка расширения в Chrome/Brave/Firefox, LevelDB, файлы .ldb/.log, ключ vault.
  • MyEtherWallet/MyCrypto: скачанный keystore JSON.
  • Trust Wallet: резервная копия, если экспортировали.
  • Аппаратные кошельки: seed-фраза, а не пароль приложения.

Этап 1. Извлечение хеша

Для keystore Ethereum используйте eth-keyfile или ethers.js. Для MetaMask vault можно применить metamask-vault-decryptor или собственный Node.js-скрипт. Важно получить структуру с параметрами crypto, kdf, ciphertext, salt, iv.

Пример на Python для проверки словаря по keystore:

import json
from eth_keyfile import decode_keyfile_json

with open('keystore.json', 'r', encoding='utf-8') as f:

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

    keystore = json.load(f)

with open('passwords.txt', 'r', encoding='utf-8', errors='ignore') as f:
    for line in f:
        password = line.rstrip()
        try:
            private_key = decode_keyfile_json(keystore, password.encode('utf-8'))
            print('Пароль найден:', password)
            print('Приватный ключ:', private_key.hex())
            break
        except Exception:
            pass

Для MetaMask vault на Node.js:

const { Wallet } = require('ethers');
const fs = require('fs');
const vault = JSON.parse(fs.readFileSync('vault.json', 'utf8'));
const passwords = fs.readFileSync('passwords.txt', 'utf8').trim().split(String.fromCharCode(10));

(async () => {
  for (const p of passwords) {
    try {
      const w = await Wallet.fromEncryptedJson(JSON.stringify(vault), p.trim());
      console.log('OK', p, w.address);
      break;
    } catch (e) {}
  }
})();

![高级脚本恢复Uniswap钱包密码教程](/upload/upload/17/a6500fdcdc2208be4b4b7271074352c6_800_600.jpg)

Этап 2. Hashcat и btcrecover

Когда известен формат, преобразуйте хранилище в хеш для GPU-восстановления. Для Ethereum Wallet в Hashcat используйте актуальный режим для scrypt/PBKDF2 (например, 15700/15600 — проверьте по версии). Команда может выглядеть так:

hashcat -m 15700 hash.txt wordlist.txt -r rules/best64.rule -O -w 3

Для btcrecover:

python btcrecover.py --wallet keystore.json --passwordlist passwords.txt --typos 2 --threads 8

Дополнительно:

  • маска: ?u?l?l?l?l?l?d?d;
  • гибрид: словарь + цифры;
  • combinator: два словаря;
  • rule-based: замена букв, года, символы.

Этап 3. Продвинутые скрипты

Если стандартные атаки не помогают, создайте кастомный перебор:

  • проверяйте только реальные кандидаты;
  • используйте multiprocessing;
  • останавливайтесь после расшифровки;
  • не пишите пароль на диск без шифрования.

Пример многопоточного Python-скрипта:

from concurrent.futures import ProcessPoolExecutor
import json
from eth_keyfile import decode_keyfile_json


![Hashcat Ethereum Wallet](/upload/upload/17/13c127bae3dd3e663b9e4f57e82de9af_800_600.jpg)

def check(keystore, password):
    try:
        decode_keyfile_json(keystore, password.encode())
        return password
    except Exception:
        return None

if __name__ == '__main__':
    keystore = json.load(open('keystore.json', encoding='utf-8'))
    candidates = [line.strip() for line in open('passwords.txt', encoding='utf-8')]
    with ProcessPoolExecutor(max_workers=8) as ex:
        for result in ex.map(lambda p: check(keystore, p), candidates, chunksize=100):
            if result:
                print('Найдено:', result)
                break

Ошибки и ограничения

  • Не используйте онлайн-сервисы: риск кражи seed/keystore.
  • Не пытайтесь восстановить чужой кошелёк — это незаконно.
  • Если пароль длинный и случайный, brute force может занять годы.
  • Без seed-фразы и keystore восстановление невозможно.

Профилактика

  • Запишите seed-фразу на металле и бумаге, храните в двух местах.
  • Используйте менеджер паролей и сложный, но запоминаемый пароль.
  • Регулярно проверяйте восстановление на тестовом кошельке.
  • Делайте резервные копии keystore и vault.

Если самостоятельные попытки не дали результата, на сайте Восстановление криптокошельков можно получить консультацию по сложным случаям: анализ vault, подбор словарей, настройка Hashcat и безопасный офлайн-аудит. Помните: главная ценность — не пароль, а приватный ключ и seed-фраза. Берегите их.