Pickachu19/ThreadSleuth
GitHub: Pickachu19/ThreadSleuth
Stars: 2 | Forks: 0
████████╗██╗ ██╗██████╗ ███████╗ █████╗ ██████╗ ███████╗██╗ ███████╗██╗ ██╗████████╗██╗ ██╗
╚══██╔══╝██║ ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗ ██╔════╝██║ ██╔════╝██║ ██║╚══██╔══╝██║ ██║
██║ ███████║██████╔╝█████╗ ███████║██║ ██║ ███████╗██║ █████╗ ██║ ██║ ██║ ███████║
██║ ██╔══██║██╔══██╗██╔══╝ ██╔══██║██║ ██║ ╚════██║██║ ██╔══╝ ██║ ██║ ██║ ██╔══██║
██║ ██║ ██║██║ ██║███████╗██║ ██║██████╔╝ ███████║███████╗███████╗╚██████╔╝ ██║ ██║ ██║
╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
>_ DIGITAL FORENSIC ANALYZER_<
High-Performance Parallel Digital Forensic Analyzer
## Overview
## System Architecture
The system follows a **Producer-Consumer** model to ensure thread safety and scalability:
## Key Features
* **High Performance:** Backend written in **C++** for low-level memory management and speed.
* **Concurrency:** Implements a custom **Thread Pool** to avoid the overhead of creating/destroying threads.
* **Thread Safety:** Uses **Mutexes** and **Condition Variables** to prevent data corruption (Race Conditions).
* **Modern UI:** **Streamlit** frontend provides a clean, web-based dashboard to visualize results instantly.
* **Automated Reporting:** Generates detailed forensic reports automatically upon completion.
## Technology Stack
| Component | Technology | Role |
| --- | --- | --- |
| **Backend Logic** | C++ (std::thread) | Core processing engine, memory management |
| **Frontend UI** | Python (Streamlit) | User interface, file upload, visualization |
| **Synchronization** | Mutex, Condition Variables | Ensuring thread safety and data integrity |
| **Inter-Process Comm** | Subprocess/File I/O | Connecting Python UI with C++ Engine |
## Installation & Usage
### Prerequisites
* **C++ Compiler:** MinGW (Windows) or G++ (Linux)
* **Python 3.x**
* **Visual Studio** (Optional, recommended for Windows users)
### Step 1: Clone the Repository
### Step 2: Compile the Backend (C++)
**On Windows:**
# If using MinGW
g++ main.cpp -o backend.exe -pthread
# OR if using Visual Studio
# Open the project in VS, Build Solution, and move the .exe to this folder.
**On Linux/Mac:**
g++ main.cpp -o backend -pthread
### Step 3: Run the Dashboard (Python)
Install the required library and launch the app:
pip install streamlit
streamlit run app.py
The application will open automatically in your browser at `http://localhost:8501`.
## Screenshots
## License
Distributed under the **MIT License**. See `LICENSE` for more information.