Skip to content

A deep learning application that detects malware by analyzing binary files as grayscale images using CNNs. Features a user-friendly GUI for file analysis and batch processing. Built with TensorFlow, OpenCV, and ttkbootstrap, this project demonstrates machine learning applications in cybersecurity through visual pattern recognition of binary data.

License

Notifications You must be signed in to change notification settings

ThaRealJozef/MalwareDetectionSystem

Repository files navigation

Malware Image Detector

A deep learning-based application for detecting malware by analyzing binary files converted to images.

Features

  • Converts binary files to grayscale images
  • Uses CNN for malware detection
  • Simple GUI interface
  • Batch processing support

Requirements

  • Python 3.8+
  • TensorFlow 2.x
  • OpenCV
  • NumPy
  • Pandas
  • Matplotlib
  • ttkbootstrap (for GUI)

Installation

Option 1: From Source

  1. Clone the repository:
git clone https://github.com/ThaRealJozef/MalwareDetectionSystem.git
cd MalwareDetectionSystem
  1. Create and activate a virtual environment:
python -m venv venv
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt

Option 2: Using Pre-built Executable (Windows)

  1. Download the latest release from the Releases page
  2. Extract the downloaded ZIP file
  3. Run MalwareDetectionSystem.exe from the extracted folder

Building from Source

If you want to build the executable yourself:

  1. Follow the "From Source" installation steps above
  2. Install PyInstaller:
    pip install pyinstaller
  3. Run the build script:
    # On Windows:
    .\build.bat
    # On macOS/Linux:
    chmod +x build.sh
    ./build.sh
  4. The executable will be created in the dist folder

Usage

Run the application:

python app.py

Project Structure

malware-image-detector/
├── src/                    # Source code
│   ├── models/             # Model definitions
│   ├── preprocessing/      # Data preprocessing
│   └── utils/              # Utility functions
├── data/                   # Data directory (not included in git)
├── app.py                 # Main application
├── requirements.in        # Direct dependencies
├── requirements.txt       # Pinned dependencies
└── README.md             # This file

Datasets

Big Thanks to these fellows for providing the datasets used in this project.

Please refer to their respective repositories for usage terms and conditions.

License

MIT

About

A deep learning application that detects malware by analyzing binary files as grayscale images using CNNs. Features a user-friendly GUI for file analysis and batch processing. Built with TensorFlow, OpenCV, and ttkbootstrap, this project demonstrates machine learning applications in cybersecurity through visual pattern recognition of binary data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published