hurrainjhl/ThreadSleuth

GitHub: hurrainjhl/ThreadSleuth

ThreadSleuth 是一款基于 C++ 和 Python Streamlit 的高性能数字取证分析工具。

Stars: 0 | Forks: 2

``` ████████╗██╗ ██╗██████╗ ███████╗ █████╗ ██████╗ ███████╗██╗ ███████╗██╗ ██╗████████╗██╗ ██╗ ╚══██╔══╝██║ ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗ ██╔════╝██║ ██╔════╝██║ ██║╚══██╔══╝██║ ██║ ██║ ███████║██████╔╝█████╗ ███████║██║ ██║ ███████╗██║ █████╗ ██║ ██║ ██║ ███████║ ██║ ██╔══██║██╔══██╗██╔══╝ ██╔══██║██║ ██║ ╚════██║██║ ██╔══╝ ██║ ██║ ██║ ██╔══██║ ██║ ██║ ██║██║ ██║███████╗██║ ██║██████╔╝ ███████║███████╗███████╗╚██████╔╝ ██║ ██║ ██║ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ >_ DIGITAL FORENSIC ANALYZER_< ``` ``` High-Performance Parallel Digital Forensic Analyzer ```
## 概述 **ThreadSleuth** 是一款高速数字取证分析工具,旨在高效处理大量磁盘镜像。通过利用 **C++ Master-Worker 多线程架构**,它与传统顺序工具相比,大幅减少了分析时间。该系统具有一个现代化的交互式仪表板,使用 **Streamlit (Python**) 构建,用于实时跟踪和报告进度。 ThreadSleuth 不是逐位处理数据,而是将工作负载划分为固定大小的块,并使用同步线程池并发处理这些块,确保100%的CPU利用率和不稳定性。 ## 系统架构 系统遵循 **生产者-消费者** 模型,以确保线程安全和可扩展性: 1. **主线程(生产者):** 读取原始磁盘镜像并将其切割成可管理的“块”。 2. **任务队列:** 一个同步、线程安全的队列,用于存放等待分析的块。 3. **工作线程(消费者):** 一个持久的 **线程池**,从队列中获取块并并行处理它们(哈希、关键字搜索等)。 4. **结果聚合器:** 使用 **互斥锁** 安全地将多个工作者的结果组合成最终报告,避免竞争条件。 ## 关键特性 * **高性能:** 后端使用 **C++** 编写,用于低级内存管理和速度。 * **并发:** 实现了一个自定义的 **线程池**,以避免创建/销毁线程的开销。 * **线程安全:** 使用 **互斥锁** 和 **条件变量** 防止数据损坏(竞争条件)。 * **现代UI:** **Streamlit** 前端提供了一个干净、基于Web的仪表板,可以即时可视化结果。 * **自动报告:** 完成后自动生成详细的取证报告。 ## 技术栈 | 组件 | 技术 | 角色 | | --- | --- | --- | | **后端逻辑** | C++ (std::thread) | 核心处理引擎,内存管理 | | **前端UI** | Python (Streamlit) | 用户界面,文件上传,可视化 | | **同步** | 互斥锁,条件变量 | 确保线程安全和数据完整性 | | **进程间通信** | 子进程/文件I/O | 连接Python UI与C++引擎 | ## 安装与使用 ### 先决条件 * **C++ 编译器:** MinGW(Windows)或 G++(Linux) * **Python 3.x** * **Visual Studio**(可选,推荐Windows用户使用) ### 第1步:克隆仓库 ``` git clone [https://github.com/hurrainjhl/ThreadSleuth.git](https://github.com/hurrainjhl/ThreadSleuth.git) cd ThreadSleuth ``` ### 第2步:编译后端(C++) **在Windows上:** ``` # 如果使用 MinGW g++ main.cpp -o backend.exe -pthread # 或者如果使用 Visual Studio # 在 VS 中打开项目,构建解决方案,并将 .exe 文件移动到这个文件夹中。 ``` **在Linux/Mac上:** ``` g++ main.cpp -o backend -pthread ``` ### 第3步:运行仪表板(Python) 安装所需的库并启动应用程序: ``` pip install streamlit streamlit run app.py ``` 应用程序将自动在您的浏览器中打开 `http://localhost:8501`。 ## 截图 Dashboard ## 许可证 根据 **MIT 许可证** 分发。有关更多信息,请参阅 `LICENSE`。 ## 贡献者 该项目是由一支专门的开发团队构建的: * **[Hoor ul ein Soomro](https://github.com/hurrainjhl)** - *首席开发者* * **[Affaf Ahmad](https://github.com/Affafahmad)** - *开发者* * **[Sumaiya Arshad](https://github.com/pickachu19)** - *开发者* * **[Marryum Afzaal](https://github.com/marryum2004)** *开发者* * **[团队成员4]** - *开发者*
为PDC课程项目持续努力开发
由 [MY Team] 开发 由咖啡和代码 ☕ 驱动
``` ```
标签:C++, Kubernetes, Master-Worker架构, Python, Streamlit, URL发现, 安全响应, 安全检测, 实时可视化, 并行处理, 性能优化, 技术分析, 数字取证, 数字法医工具, 数据恢复, 数据擦除, 无后门, 检测绕过, 磁盘镜像分析, 自动化脚本, 访问控制, 逆向工具, 高效分析