dfindexeddb 是一个用于执行IndexedDB和leveldb文件数字取证分析的实验性Python工具。
项目描述
dfIndexeddb
dfindexeddb 是一个用于执行IndexedDB和LevelDB文件数字取证分析的实验性Python工具。
它从这些文件中解析LevelDB、IndexedDB和JavaScript结构,无需使用本地库。(注意:目前仅支持Safari和基于Chromium浏览器的IndexedDB键类型和JavaScript类型的一个子集。Firefox正在开发中)。
IndexedDB文件的内容取决于Web应用程序使用Web浏览器的IndexedDB API在本地上/离线存储的内容。内容示例可能包括
- 文本/源代码编辑器应用程序的文本,
- 电子邮件和联系信息来自电子邮件应用程序,
- 照片画廊应用程序的图片和元数据
安装
- [Linux] 安装snappy压缩开发包
$ sudo apt install libsnappy-dev
- 创建虚拟环境并安装包
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install dfindexeddb
要安装leveldb/indexeddb插件的依赖项,运行
$ pip install 'dfindexeddb[plugins]'
从源安装
- [Linux] 安装snappy压缩开发包
$ sudo apt install libsnappy-dev
-
在本地计算机上克隆或下载/解压存储库。
-
创建虚拟环境并安装包
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install .
要安装leveldb/indexeddb插件的依赖项,运行
$ pip install '.[plugins]'
使用方法
安装后,有可供使用两个用于解析IndexedDB/LevelDB文件的命令行工具
IndexedDB
$ dfindexeddb -h
usage: dfindexeddb [-h] {db,ldb,log} ...
A cli tool for parsing indexeddb files
positional arguments:
{db,ldb,log}
db Parse a directory as indexeddb.
ldb Parse a ldb file as indexeddb.
log Parse a log file as indexeddb.
options:
-h, --help show this help message and exit
示例
要从SQLite文件解析IndexedDB记录(用于Safari)并将结果输出为JSON-L,请使用以下命令
dfindexeddb db -s SOURCE --format safari -o jsonl
要从LevelDB文件夹解析IndexedDB记录(用于Chrome/Chromium),使用清单文件确定恢复的记录并将结果输出为JSON,请使用以下命令
dfindexeddb db -s SOURCE --format chrome --use_manifest
要从LevelDB ldb (.ldb) 文件解析IndexedDB记录并将结果输出为JSON-L,请使用以下命令
dfindexeddb ldb -s SOURCE -o jsonl
要从LevelDB log (.log) 文件解析IndexedDB记录并将结果输出为Python可打印表示形式,请使用以下命令
dfindexeddb log -s SOURCE -o repr
将文件解析为Chrome/Chromium IndexedDB blink值并将结果输出为JSON
dfindexeddb blink -s SOURCE
LevelDB
$ dfleveldb -h
usage: dfleveldb [-h] {db,log,ldb,descriptor} ...
A cli tool for parsing leveldb files
positional arguments:
{db,log,ldb,descriptor}
db Parse a directory as leveldb.
log Parse a leveldb log file.
ldb Parse a leveldb table (.ldb) file.
descriptor Parse a leveldb descriptor (MANIFEST) file.
options:
-h, --help show this help message and exit
示例
要解析LevelDB文件夹中的记录,请使用以下命令
dfleveldb db -s SOURCE
要解析LevelDB文件夹中的记录,并使用序列号确定恢复的记录并将结果输出为JSON,请使用以下命令
dfleveldb db -s SOURCE --use_sequence_number
要解析LevelDB log (.log) 文件中的块 / 物理记录 / 写入批处理 / 内部键记录,请使用以下命令,通过 -t
选项指定类型(块,物理记录等)。默认情况下,解析内部键记录
$ dfleveldb log -s SOURCE [-t {blocks,physical_records,write_batches,parsed_internal_key}]
要解析LevelDB table (.ldb) 文件中的块 / 记录,请使用以下命令,通过 -t
选项指定类型(块,记录等)。默认情况下,解析记录
$ dfleveldb ldb -s SOURCE [-t {blocks,records}]
要解析描述符(MANIFEST)文件中的版本编辑记录,请使用以下命令
$ dfleveldb descriptor -s SOURCE [-o {json,jsonl,repr}] [-t {blocks,physical_records,versionedit} | -v]
插件
要为leveldb文件/文件夹应用插件解析器,请添加 --plugin [Plugin Name]
参数。目前,支持以下项目
插件名称 | 项目名称 |
---|---|
ChromeNotificationRecord |
Chrome/Chromium通知 |
项目详情
下载文件
下载适合您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
dfindexeddb-20240519.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8b90e27cc18c9ddfbf47b3f88356b1f12169443c7bb783c5b6af6e4a8af92371 |
|
MD5 | ddf5c659334904f2955ca56544e45ba5 |
|
BLAKE2b-256 | 4354ffc4a786a50b326b44ff8e5e7423520e4013633f304d19434dafa0a6f12e |