适用于Chrome、Chromium、Electron等软件
LocalStorage 文件存储位置:{APP_DATA_DIR}/Default/Local Storage/leveldb
localStorage 使用 LevelDB 作为底层数据库
leveldb
├── 000003.ldb
├── 000014.ldb
├── 000077.ldb
├── 000080.log
├── CURRENT
├── LOCK
├── LOG
├── LOG.old
└── MANIFEST-000079
其中 若干*.ldb
存储了若干版本的数据,可从此处恢复。
请参考:https://antimatter15.com/2015/12/recovering-deleted-data-from-leveldb/
bytearray:b'\x00,{\x8cN!k\x84vpenc'
Unicode:\u7b2c\u4e8c\u6b21\u7684\u6570\u636e
中文:第二次的数据
程序输出:
(bytearray(b'_file://\x00\x01message'), bytearray(b'\x00,{\x8cN!k\x84vpenc'))
['0x7b2c', '0x4e8c', '0x6b21', '0x7684', '0x6570', '0x636e']
第二次的数据
- 去掉第一个\x00
- 剩余bytes 两两倒序以hex组合成一个Unicode (
,{
==\x2c\x7b
=>\u7b2c
=>第
)
-
unicode编码解码: http://www.jsons.cn/unicode/
-
ldbdump :
用于从ldb文件dump出数据,但是会直接输出内容而不是byte array,需要手工修改源码不输出明文字符。
然后 ldbdump xxxxxx.ldb > raw.file 可以发现 raw.file 里面是明文字符了,但是如果原来的数据含有中文或者二进制内容,那么导出文件不好用php处理
-
leveldb python leveldb库
这个库只能读取文件夹,不能读取.ldb文件,因此最好使用ldbdump读取