Mariqa2002/DataHawk
GitHub: Mariqa2002/DataHawk
DataHawk 是一款桌面数字取证工具,用于手动分析移动设备SQLite数据库,解决主流取证软件解码不全的问题。
Stars: 0 | Forks: 0
# Datahawk AP
# 概述
DataHawk 是一款基于桌面的数据管理与分析工具,作为应用项目的一部分开发,旨在从移动设备数据库中提取、分析和报告数据。本项目介绍了一款数字取证工具的设计与开发,旨在改进移动设备数据的分析,特别是专注于现有取证软件未能完全支持或正确解码的数据库。
该系统使用 Python 构建,并利用 CustomTkinter 库提供现代化、响应迅速的用户界面。它旨在弥合技术数据库工具与用户友好的数据探索环境之间的差距。
本应用程序按照软件开发生命周期构建,采用了瀑布模型六个步骤中的前四个。
## 安装说明
### 前置条件
- Python 3.10+
- pip 包管理器
- requirements.txt
### 步骤
```
# 克隆仓库
git clone https://gitlab.uwe.ac.uk/mj2-cumberbatc/datahawk_AP.git
# 创建虚拟环境
python -m venv venv
# 激活环境
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
# 安装依赖项
pip install -r requirements.txt
# 运行应用程序
py datahawk.py
```
## 主要功能
### 1. 图形用户界面 (GUI)
- 使用 **CustomTkinter** 构建,增强样式和可用性
- 全屏布局,包含多个功能面板
- 响应式设计,支持动态调整大小
### 2. 数据库集成
- 加载并操作 **SQLite 数据库**
- 在结构化的选项卡式视图中显示数据库表
- 支持在多个数据集之间切换
### 3. SQL 查询引擎
- 在应用程序内直接执行自定义 SQL 查询
- 查询结果在主数据表中实时渲染
- 对无效查询进行错误处理和反馈
### 4. 查询管理增强
- 语法高亮以提高可读性
- 查询清除功能
### 5. 数据表格功能
- 交互式表格,具备:
- 通过拖放进行列重排
- 可滚动和可调整大小的布局
- 数据预览功能
### 6. 导出功能
- 将表格数据导出为 **PDF, Excel, Word 和 HTML 格式**
- 导出文件采用结构化格式,便于阅读
## 系统架构
该应用程序遵循模块化架构:
- **GUI 层**:处理所有用户交互和视觉组件
- **数据库层**:管理 SQLite 连接和数据检索
- **查询引擎**:处理和执行 SQL 语句
- **工具模块**:提供辅助功能,如导出和格式化
## 使用的技术
- **Python** – 核心编程语言
- **CustomTkinter** – GUI 框架
- **SQLite3** – 数据库管理
- **ReportLab / PDF 库** – 数据导出功能
## 使用方法
1. 启动应用程序
2. 加载一个 SQLite 数据库文件
3. 从界面中选择一个表
4. 执行 SQL 查询或操作数据表
5. 如需,导出结果
## 项目阶段
### 第 1 阶段:GUI 开发
- 核心布局实现
- 窗口管理和样式设计
### 第 2 阶段:数据库集成
- SQLite 连接
- 表加载和显示
### 第 3 阶段:SQL 引擎与查询管理
- 查询执行引擎
- 语法高亮和自动化
- 与主数据视图集成
## 未来改进
- 支持其他数据库类型(例如 plists, xml)
- 大型数据集性能优化
- 案件
## 挑战
- 在 GUI 内高效处理大型数据集
- 查询执行期间保持 UI 响应
- 实现直观的拖放功能
- 确保准确的 SQL 解析和错误处理
## 许可证
本项目为学术目的开发。许可条款未来可能更新。
## 作者
作为 UWE 网络安全与数字取证应用项目的一部分开发。由 Mariqa Cumberbatch 和 Christopher Miles 编写。
## 致谢
- CustomTkinter 文档和社区
- Python 和 SQLite 开发者资源
- Christopher Miles
标签:CustomTkinter, Python开发, SQLite, 代码示例, 数字取证, 数据分析, 数据库管理, 数据报告, 数据提取, 数据管理, 查询管理, 桌面应用, 法证工具, 法证软件, 用户界面, 移动数据库, 移动设备分析, 自动化脚本, 逆向工具