pawlaszczyk/fqlite
GitHub: pawlaszczyk/fqlite
一款面向 SQLite 数据库的取证工具,能够扫描并恢复数据库文件中被标记为删除的记录及已删除的表结构。
Stars: 144 | Forks: 22
### FQLite - SQLite 取证数据恢复工具
FQLite 是一款用于在 SQLite 数据库中查找和恢复已删除记录的工具。因此,它会检查数据库中被标记为已删除的条目。这些条目可以被恢复并显示出来。它是使用 Java 编程语言编写的。该程序可以通过简单的图形用户界面(GUI 模式)进行操作。该程序能够在 SQLite 数据库文件中搜索常规记录以及已删除的记录。
### 功能
FQLite 允许您:
* 浏览和恢复空闲列表页的内容
* 恢复所有数据库页中的记录,包括未分配空间和空闲块!
* 支持 UTF-8、UTF-16BE、UTF-16LE 编码的数据库
* 支持多字节列以及溢出页
* 恢复已删除的表
* 创建 CSV/TSV 格式的数据导出
* 支持 Rollback-Journals 和 WAL-Archives
* 集成十六进制查看器
* 支持对数据库文件进行符合取证规范的调查
* 支持解码 bplist、protobuf 和 BASE64 编码的单元格值
* 自动检测不同的 BLOB 类型,如 .png、.bmp、.gif、.jpeg、.tiff、.heic、.pdf
* 分析 BLOB 格式,如 Google protobuf、AVRO、Apple plist、Thrift 等
* 集成 SQL 分析器
* HTML 导出功能(自 4.0 起)
* 显示数据库 PRAGMA 值
* 将恢复的数据导出到新的 SQLite 数据库
* 使用基于 AI 的助手生成 Text-to-SQL(自 4.0 起)
* 图形化 SQL 架构分析器(基于 Mermaid.js)
部分特性:
* 使用 Java 标准类库编写
* 基于 JavaFX 的图形用户界面
* 开源
* 免费
* 开箱即用
* 多平台支持
### 官方项目主页
查看官方项目主页
https://www.staff.hs-mittweida.de/~pawlaszc/fqlite/
### 官方用户指南
您可以通过以下链接找到当前版本的用户手册:
http://dx.doi.org/10.13140/RG.2.2.20276.92800
### 技术背景
介绍 FQLite 技术背景的概述文章可从以下网址获取
https://conceptechint.net/index.php/CFATI/article/view/17/6
D. Pawlaszczyk, C. Hummert: (2021).
让不可见变为可见 – 恢复已删除 SQLite 数据记录的技术。
国际网络取证与高级威胁调查杂志,
### 前置条件
在最新版本中,FQLite 捆绑了 Java 运行环境 (JRE) 以及所有必需的库。
# 安装说明
## macOS
### 通过 .dmg 文件安装
1. 从 Release 页面下载 .dmg 格式的最新版 FQLite。
2. 打开 .dmg 文件并将应用程序拖入“应用程序”文件夹。
3. 您现在可以从“应用程序”文件夹启动 FQLite。
## 重要提示:
如果您尝试打开未知开发人员的应用程序,并且您的 Mac 上显示了警告对话框。
显示的对话框会提示该应用程序已损坏。事实上,该应用程序只是没有使用开发者证书进行签名而已。
因此,Gatekeeper 拒绝执行。
第一种方法允许运行单个程序而无需禁用 Gatekeeper。
打开终端并运行以下命令:
```
sudo xattr -dr com.apple.quarantine /Applications/fqlite.app
```
然后该应用程序应该就可以顺利启动,不再有任何提示。
3. 安装完成后,可以直接从“应用程序”文件夹启动 FQLite。
## Windows
### 通过 .exe 文件安装
1. 从 Release 页面下载 .exe 格式的最新版 FQLite。
2. 运行 .exe 文件并按照安装说明进行操作。
3. 安装完成后,可以从“开始”菜单打开 FQLite。
## Linux
### 通过 .deb 文件安装
1. 从 Release 页面下载 .deb 格式的最新版 FQLite。
2. 打开终端并导航到保存 .deb 文件的目录。
3. 使用以下命令安装 FQLite:
```
sudo apt install ./fqlite.deb
```
4. 安装完成后,可以从应用程序菜单启动 FQLite。
## 在 FQLite 中使用 AI
要获取编写 SQL 语句的 AI 支持,
您必须首先下载一个 LLM 模型。共有 4 种可用模型,
它们在大小和性能上有所不同:
1. **GGUF Q4_K_M: 约 2.3 GB:**
带有 K-Mean 优化的 4 位量化模型。这是最小、最快的变体,非常适合 RAM 有限或使用较旧硬件的系统。其推理速度在所有变体中最高。与更高的量化版本相比,输出质量略有下降,但仍然非常适合大多数 SQL 生成任务。推荐用于快速原型设计或资源受限的环境。
https://huggingface.co/pawlaszc/DigitalForensicsText2SQLite/blob/main/forensic-sqlite-llama-3.2-3b-Q4_K_M.gguf
2. **GGUF Q5_K_M: 约 2.8 GB:**
带有 K-Mean 优化的 5 位量化模型。在大小、速度和输出质量之间取得了很好的平衡。与 Q4_K_M 相比,它提供了明显更高的 SQL 准确性,同时体积仍然显著小于全精度模型。建议作为在消费级硬件(8-16 GB RAM)上运行推理的大多数用户的默认选择。
https://huggingface.co/pawlaszc/DigitalForensicsText2SQLite/blob/main/forensic-sqlite-llama-3.2-3b-Q5_K_M.gguf
3. **GGUF Q8_0: 约 3.8 GB:**
8 位量化模型。接近全精度质量,精度损失极小。推理速度比 Q4/Q5 变体慢,但输出质量非常接近 FP16 基线。当优先考虑输出准确度且有足够的 RAM(16+ GB)时,这是一个很好的选择。适用于对结果正确性要求严格的实际应用场景。
https://huggingface.co/pawlaszc/DigitalForensicsText2SQLite/blob/main/forensic-sqlite-llama-3.2-3b-Q8_0.gguf
4. **完整版 (FP16): 约 6 GB:**
完整的 16 位浮点模型,未进行任何量化。提供最高可能的输出质量,并作为所有其他变体的参考基线。需要最多的内存(推荐 16-24 GB RAM)且推理速度最慢。推荐用于基准测试、微调实验或需要最大准确度的高端系统。
https://huggingface.co/pawlaszc/DigitalForensicsText2SQLite/blob/main/forensic-sqlite-llama-3.2-3b-fp16.gguf
如果您不确定,我们建议选择最小的模型。这应该能够在所有常见的计算机系统上运行而不会出现明显的延迟。
运行此模型不需要 GPU 支持。
要使用 Text2SQL 功能,您必须点击大脑图标:

首次使用此功能时,系统会提示您指定 LLM 的路径:
接受更改后,即可在 FQLite 中使用 Text2SQL 功能。
标签:AI辅助, BLOB分析, C2, Hex viewer, Hex查看器, HTML导出, HTTP工具, JavaFX, JS文件枚举, Plist解析, Protobuf解析, Rollback日志, SQLite取证, SQL分析器, WAL文件分析, 删除记录恢复, 取证工具, 域名枚举, 实时告警, 开源自助工具, 数字取证, 数字调查, 数据 carving, 数据导出, 数据库分析, 数据库恢复, 数据恢复, 数据泄露, 数据重组, 电子取证, 结构化数据恢复, 网络安全审计, 自动化脚本, 自由列表页恢复, 蓝队工具, 路径枚举, 逆向分析