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, 代码示例, 数字取证, 数据分析, 数据库管理, 数据报告, 数据提取, 数据管理, 查询管理, 桌面应用, 法证工具, 法证软件, 用户界面, 移动数据库, 移动设备分析, 自动化脚本, 逆向工具