小编ff0*_*f03的帖子

从 LevelDB“.ldb”文件恢复数据

我正在尝试从 .ldb 文件中提取数据。Chrome 扩展 OneTab 出现故障,我正在尝试恢复它保存的链接。我相信我已经从一篇旧的博客文章中找到了解决方案,但我对编码了解不够,无法弄清楚如何遵循。

以下是博客文章的链接: https://antimatter15.com/2015/12/recovering-deleted-data-from-leveldb/

我相信我已经按照他的建议正确完成了构建 Go 应用程序的所有操作。它创建了一个名为“ldbdump”的文件,没有文件扩展名。下一步是我遇到麻烦的地方。我尝试在 Jupyter Notebook 中运行他的 Python 代码(这是我唯一使用过 Python 的软件,而且经验有限),但只会出现错误。

我正在使用的原始代码可以在上面的“恢复”标题下的链接中找到。我将“base”的定义从“test-stuff copy”更改为指向包含我尝试读取的 .ldb 文件以及“ldbdump”文件的文件夹。出现错误后,我还更改了底部打印命令的语法。其他一切都被搁置了。

base = "D:\\Downloads\\ldb archive"

import os
from subprocess import Popen, PIPE
import json
import ast

for f in os.listdir(base):
  if f.endswith(".ldb"):
    process = Popen(["ldbdump", os.path.join(base, f)], stdout=PIPE)
    (output, err) = process.communicate()
    exit_code = process.wait()
    for line in (output.split("\n")[1:]):
      if line.strip() == "": continue
      parsed = ast.literal_eval("{" + line + "}")
      key = parsed.keys()[0]
      print(json.dumps({ "key": key.encode('string-escape'), "value": parsed[key] …
Run Code Online (Sandbox Code Playgroud)

python go leveldb

6
推荐指数
1
解决办法
9797
查看次数

标签 统计

go ×1

leveldb ×1

python ×1