STEG-Detector 2.0 released with new functons. Check it out from there.
Welcome to the Advanced Steganography Detector! This innovative Python application is engineered to uncover hidden information within image, audio, and video files. By harnessing a blend of statistical analysis, machine learning, and multimedia processing techniques, this tool provides a robust solution for detecting potential steganographic content. With its sleek and intuitive interface built using Tkinter, users can effortlessly navigate the application to analyze files and view results.
-
Multi-Format Detection:
- Supports a wide range of file types, including images, audio files, and videos, ensuring comprehensive analysis.
-
Advanced Statistical Analysis:
- Employs Chi-square tests and other statistical methods to scrutinize data distributions, identifying anomalies that may indicate steganography.
-
Quality Metrics Evaluation:
- Calculates essential image quality metrics such as PSNR (Peak Signal-to-Noise Ratio) and SSIM (Structural Similarity Index) to assess the integrity of images.
-
Audio Steganography Detection:
- Analyzes audio files using LSB (Least Significant Bit) techniques and frequency analysis to detect hidden data.
-
Video Frame Analysis:
- Processes video frames to uncover hidden information, utilizing wavelet transforms for effective feature extraction.
-
Comprehensive Metadata Extraction:
- Gathers and displays critical metadata, including file type, duration, bitrate, dimensions, and more, providing valuable insights into the analyzed files.
-
Machine Learning Integration:
- Trains a Random Forest Classifier to enhance detection capabilities based on extracted features, improving accuracy over time.
-
Detailed Logging:
- Maintains a log of detection activities and errors in
steganography_detection.log
, facilitating troubleshooting and analysis.
- Maintains a log of detection activities and errors in
To run this application, ensure you have the following Python packages installed:
tkinter
Pillow
pydub
numpy
opencv-python
mutagen
python-magic
scikit-learn
scipy
pywt
You can install the required packages using setup.py
file:
python3 setup.py
-
Clone the Repository:
git clone https://github.com/CYBER-MRIANL/STEG-Detector.git cd STEG-Detector
-
Run the Application:
python3 STEG-Detector.py
-
Select a File:
- Click the "Browse" button to choose an image, audio, or video file for analysis.
-
Detect Steganography:
- Press the "Detect Steganography" button to initiate the analysis.
-
View Results:
- The results, including detection outcomes and extracted metadata, will be displayed in the text area for your review.
All detection activities and errors are logged in steganography_detection.log
, providing a detailed account of the detection process and aiding in troubleshooting.
This Python script is a comprehensive application designed to detect steganography in images, audio, and video files. It utilizes various libraries such as PIL
for image processing, pydub
for audio manipulation, OpenCV
for video analysis, and scikit-learn
for machine learning. Hereβs a breakdown of the key components:
-
Logging: The application logs important events and errors to a file named
steganography_detection.log
, which helps in debugging and tracking the application's performance. -
Steganography Detection:
- Image Detection: The
detect_image
method analyzes the pixel values of an image to identify anomalies that may indicate the presence of hidden data. It uses statistical tests (like Chi-square), LSB (Least Significant Bit) analysis, and image quality metrics (PSNR and SSIM). - Audio Detection: The
detect_audio
method examines audio files for LSB steganography and performs frequency analysis using Fast Fourier Transform (FFT). - Video Detection: The
detect_video
method processes video frames to detect hidden data and applies wavelet transforms for feature extraction.
- Image Detection: The
-
Metadata Extraction: The
extract_metadata
method retrieves and displays metadata from the selected file, including file type, size, creation/modification times, and specific attributes based on the file type (image, audio, or video). -
Machine Learning: The application includes functionality to train a Random Forest Classifier for steganography detection. It extracts features from files and uses them to predict whether a file is steganographic.
-
Graphical User Interface (GUI): The GUI allows users to select files, initiate detection, and view results. It includes a progress bar to indicate the detection process's status.
-
Threading: The detection process runs in a separate thread to keep the GUI responsive while processing files.
We welcome contributions from the community! If you have suggestions for improvements, new features, or bug fixes, please feel free to open an issue or submit a pull request. Your input is invaluable in enhancing this project!
This project is licensed under the MIT License. For more details, please refer to the LICENSE file.
Thank you for checking out STEG-Detector! If you have any questions or feedback, feel free to reach out. Happy detection! π .Contact me TELEGRAM