Є гаманець, який у мене раніше був із грошима, і я більше не можу до нього отримати доступ Не питай мене чому. довга історія і NDA... Хтось випадково надіслав мені туди гроші Я не користувався цим гаманцем більше року. Я зберігаю насіння в безпеці, але чомусь у мене не було того, що саме для цієї адреси. Дивно, що я майже впевнений, що це був звичайний акаунт Metamask, створений кнопкою «Створити акаунт». Тож я вирішив стати повноцінним детективом: Перше, що я перевірив — чи існував цей гаманець у моєму комп'ютері. Metamask зберігає зашифровані дані гаманця локально в браузері, тож якщо профіль браузера все ще існує, сховище може бути там теж. Я зайшов у сховище розширень Chrome і витягнув файли бази даних Metamask. У цих файлах є зашифрований об'єкт під назвою Vault. Це сховище містить насіння та ключі, які використовує Metamask, але все зашифровано вашим паролем Metamask. Тож я витягнув дані зі сховища і розшифрував їх. Шифрування, яке використовує Metamask, — це, по суті, ключ, отриманий з вашого пароля (PBKDF2), який розшифровує корисне навантаження сховища (AES). Якщо ви все ще знаєте пароль Metamask, ви можете розшифрувати сховище і відновити seed-фрази, збережені всередині. Ця частина справді спрацювала. Після розшифрування сховища я відновив три різні seed-фрази, які зберігалися в тій інсталяції Metamask. Потім настав етап виведення. Metamask не зберігає кожну адресу Ethereum окремо. Він бере seed-фразу і детерміновано генерує гаманці з неї за допомогою шляху деривації (зазвичай m/44'/60'/0'/0/n). Кожного разу, коли ви натискаєте «створити акаунт», Metamask просто збільшує індекс і отримує наступну адресу з того ж сіду. Тож я написав скрипт і почав отримувати адреси з цих насіння. Сотні їх. ...