军械库比特币: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.JdbcOdbc...