微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

军械库比特币:LMDB 文件是否包含私钥?如果我知道钱包密码,我可以解密吗?

如何解决军械库比特币:LMDB 文件是否包含私钥?如果我知道钱包密码,我可以解密吗?

Armory 在创建新钱包时创建 Wallet fileLMDB 文件。我做了一个超深层磁盘清理,看看我是否可以恢复钱包文件,但我找不到它。我能找到的唯一文件armory_*****_wallet.lmdb,主要在 102KiB 左右。我不确定它是否包含与 Wallet file 相关的任何内容,但我只是想阅读其中的内容

以下方法可行吗?

我不知道,但在我看来,私钥有可能位于闪电内存映射数据库 (LMDB) 文件中。可能使用钱包密码加密。

我从头开始创建了一个钱包并与它分享了我的结果,例如由 Armory 创建的 lmdb file

我已关注 guide-1guide-2guide-3 以便能够读取该文件

我的脚本:

#!/usr/bin/env python3
import lmdb
import caffe

lmdb_file = "armory_2tG9psLQX_wallet.lmdb" 
lmdb_env = lmdb.open(lmdb_file,subdir=False)
lmdb_txn = lmdb_env.begin()
lmdb_cursor = lmdb_txn.cursor()
datum = caffe.proto.caffe_pb2.Datum()

for key,value in lmdb_cursor:
    print(key)
    print(value)

print("----------------")
for key,value in lmdb_cursor:
    print(key.decode('utf-8'))
    print(value.decode('utf-8'))`

这只会打印出来:

b'99AxiN7y'
b'\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00k\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00'
b'WalletHeader'
b'\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00'

--------------

99AxiN7y
k

WalletHeader

由于文件大小要大得多,我不知道为什么它只能打印一个字符作为值。有没有其他方法可以深入读取 lmdb 文件或其大小无关紧要?好像 99AxiN7y 是原始钱包文件的 wallet-id。

我确定文件没有损坏,我尝试使用由 armory_***wallet.lmdb 创建的新 Armory 文件生成了类似的结果。

=> 真正的问题是 LMDB 文件是否也包含私钥,我们可以从中恢复钱包吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?