у меня есть кошелек, которым я раньше владел, с деньгами внутри, и я больше не могу к нему получить доступ не спрашивайте меня почему. Долгая история и соглашение о неразглашении... кто-то случайно отправил мне деньги туда я не использовал этот кошелек больше года. Я храню свои семена в безопасности, но почему-то у меня не было семени для этого конкретного адреса. странная часть в том, что я почти уверен, что это был просто обычный аккаунт metamask, созданный с помощью кнопки "создать аккаунт". поэтому я решил стать детективом: первое, что я проверил, существовал ли этот кошелек когда-либо на моем компьютере. metamask хранит свои зашифрованные данные кошелька локально в браузере, так что если профиль браузера все еще существует, хранилище может быть все еще там. я зашел в хранилище расширений chrome и извлек файлы базы данных metamask. внутри этих файлов есть зашифрованный объект, называемый хранилищем. это хранилище содержит семена и ключи, которые использует metamask, но все зашифровано с помощью вашего пароля metamask. поэтому я извлек данные хранилища и расшифровал их. шифрование, которое использует metamask, в основном является ключом, полученным из вашего пароля (PBKDF2), который расшифровывает полезную нагрузку хранилища (AES). если вы все еще знаете пароль metamask, вы можете расшифровать хранилище и восстановить семенные фразы, хранящиеся внутри. эта часть действительно сработала. после расшифровки хранилища я восстановил три разные семенные фразы, которые были сохранены в этой установке metamask. затем пришел этап деривации. metamask не хранит каждый адрес ethereum индивидуально. он берет семенную фразу и детерминированно генерирует кошельки из нее, используя путь деривации (обычно m/44'/60'/0'/0/n). каждый раз, когда вы нажимаете "создать аккаунт", metamask просто увеличивает индекс и выводит следующий адрес из той же семени. поэтому я написал скрипт и начал выводить адреса из этих семян. сотни из них. ...