Dej*_*Dej 5 python google-chrome python-2.7 indexeddb leveldb
我正在尝试访问Chrome存储indexeddbs生成的leveldbs。我得到键和值。但是它们要么以未知的编码-我尝试了多种方法来检测它们-要么它们以某种方式被加扰。
import plyvel
db = plyvel.DB(dirname, comparator=cmp, comparator_name="idb_cmp1")
for key, value in db:
print(key)
print(value)
Run Code Online (Sandbox Code Playgroud)
我不介意密钥是否按此处所述随机排列。但是,以可读的方式获取键和值会很好。我也不在leveldb中处理二进制数据。
我在python中使用plyvel遍历数据库。可能与以下答案有关:LevelDB C迭代器
您可以通过将完全相同的比较器名称传递给 plyvel 中的自定义比较器来伪造它。该比较器的工作方式可能与最初用于创建数据库的比较器不同。我想这会让你克服第一个障碍。
但由于 leveldb 不提供只读操作模式,因此在您读取数据库时可能会启动后台线程来进行一些压缩。由于比较器发生故障,这可能会导致数据丢失和数据库损坏。