热门话题
#
Bonk 生态迷因币展现强韧势头
#
有消息称 Pump.fun 计划 40 亿估值发币,引发市场猜测
#
Solana 新代币发射平台 Boop.Fun 风头正劲
我曾经拥有一个钱包,里面有钱,但我现在无法访问它。
别问我为什么。长话短说,还有保密协议……
有人不小心把钱发到那里。
我已经超过一年没有使用那个钱包了。我安全地存储我的种子,但不知为何我没有那个特定地址的种子。
奇怪的是,我几乎可以肯定它只是一个通过“创建账户”按钮创建的普通metamask账户。
所以我决定全力以赴当侦探:
我检查的第一件事是那个钱包是否曾经存在于我的电脑中。metamask在浏览器中本地存储其加密钱包数据,所以如果浏览器配置文件仍然存在,保险库可能也仍然存在。
我进入了chrome的扩展存储,提取了metamask数据库文件。在这些文件中,有一个名为保险库的加密对象。那个保险库包含metamask使用的种子和密钥,但一切都用你的metamask密码加密。
所以我提取了保险库数据并解密了它。
metamask使用的加密基本上是从你的密码派生的密钥(PBKDF2),用于解密保险库负载(AES)。如果你仍然知道metamask密码,你可以解密保险库并恢复存储的种子短语。
那部分实际上是有效的。
在解密保险库后,我恢复了三个不同的种子短语,这些短语曾存储在那个metamask安装中。
然后是派生步骤。
metamask并不单独存储每个以太坊地址。它使用种子短语并通过派生路径(通常是m/44'/60'/0'/0/n)确定性地生成钱包。每次你点击“创建账户”,metamask只会增加索引,并从同一个种子派生下一个地址。
所以我写了一个脚本,开始从那些种子派生地址。数以百计。
...

热门
排行
收藏
