# mahbub126/backdoormalware architecture

> Architecture diagram of the GitHub repository mahbub126/backdoormalware, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mahbub126/backdoormalware
- Repository: https://github.com/mahbub126/backdoormalware

## Overview

This repository is an experimental workflow for image-based malware classification and studying backdoors through membership inference. The documented path starts with malware binaries, converts them to grayscale images, optionally adds corner triggers, trains clean or backdoored image classifiers, and tests sample images with saved models. The README names five training architectures, preserved here as separate components. No notebook source was available, so relationships are limited to workflow statements in the README; implementation details and any distinct membership-inference analysis stage cannot be verified.

Main entry points: [`Clean Trained Model`](https://github.com/mahbub126/backdoormalware/tree/main/Clean%20Trained%20Model) (Clean Models), [`Backdoored Trained Model`](https://github.com/mahbub126/backdoormalware/tree/main/Backdoored%20Trained%20Model) (Backdoored Models), [`Testing_model_with_sample_images.ipynb`](https://github.com/mahbub126/backdoormalware/blob/main/Testing_model_with_sample_images.ipynb) (Sample Image Testing), [`Train Backdoor Densenet.ipynb`](https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20Densenet.ipynb) (DenseNet Trainer)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Samples and Images"]
  node_dataset[("Dike Dataset")]
  node_binary_convert["Binary Converter"]
  node_gray_images["Grayscale Images"]
end

subgraph group_trigger["Backdoor Preparation"]
  node_trigger_generator["Trigger Generator"]
  node_training_malware[("Training Malware Images")]
  node_backdoor_trainers["Backdoor Training Samples"]
end

subgraph group_training["Model Training"]
  node_dense_trainer["DenseNet Trainer"]
  node_mobile_trainer["MobileNet Trainer"]
  node_vgg16_trainer["VGG-16 Trainer"]
  node_vgg19_trainer["VGG-19 Trainer"]
  node_nasnet_trainer["NasNet Trainer"]
end

subgraph group_evaluation["Testing and Models"]
  node_clean_models[("Clean Models")]
  node_backdoor_models[("Backdoored Models")]
  node_test_samples[("Clean Test Samples")]
  node_model_testing["Sample Image Testing"]
  node_predictions["Predictions"]
end

node_researcher(("Researcher"))

node_researcher -->|"selects samples"| node_dataset
node_dataset -->|"converts binaries"| node_binary_convert
node_binary_convert -->|"produces images"| node_gray_images
node_gray_images -->|"adds triggers"| node_trigger_generator
node_training_malware -->|"provides malware images"| node_trigger_generator
node_trigger_generator -->|"generates triggered images"| node_backdoor_trainers
node_researcher -->|"chooses training"| node_dense_trainer
node_researcher -->|"chooses training"| node_mobile_trainer
node_researcher -->|"chooses training"| node_vgg16_trainer
node_researcher -->|"chooses training"| node_vgg19_trainer
node_researcher -->|"chooses training"| node_nasnet_trainer
node_dense_trainer -->|"trains clean models"| node_clean_models
node_dense_trainer -->|"trains triggered models"| node_backdoor_models
node_mobile_trainer -->|"trains clean models"| node_clean_models
node_mobile_trainer -->|"trains triggered models"| node_backdoor_models
node_vgg16_trainer -->|"trains clean models"| node_clean_models
node_vgg16_trainer -->|"trains triggered models"| node_backdoor_models
node_vgg19_trainer -->|"trains clean models"| node_clean_models
node_vgg19_trainer -->|"trains triggered models"| node_backdoor_models
node_nasnet_trainer -->|"trains clean models"| node_clean_models
node_nasnet_trainer -->|"trains triggered models"| node_backdoor_models
node_test_samples -->|"provides test images"| node_model_testing
node_clean_models -->|"tests clean models"| node_model_testing
node_backdoor_models -->|"tests backdoored models"| node_model_testing
node_researcher -->|"runs predictions"| node_model_testing
node_model_testing -->|"returns predictions"| node_predictions

click node_dataset "https://github.com/mahbub126/backdoormalware/tree/main/dike_dataset"
click node_binary_convert "https://github.com/mahbub126/backdoormalware/blob/main/BinaryToGrayConverter-Simple.ipynb"
click node_trigger_generator "https://github.com/mahbub126/backdoormalware/blob/main/BackdoorImageGenerator%20with%20Black%20And%20White%20Box.ipynb"
click node_training_malware "https://github.com/mahbub126/backdoormalware/tree/main/Malware%20Images%20to%20add%20backdoor%20for%20training"
click node_dense_trainer "https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20Densenet.ipynb"
click node_mobile_trainer "https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20MobileNet.ipynb"
click node_vgg16_trainer "https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20VGG-16.ipynb"
click node_vgg19_trainer "https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20VGG19.ipynb"
click node_nasnet_trainer "https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor-NasNetMobile.ipynb"
click node_clean_models "https://github.com/mahbub126/backdoormalware/tree/main/Clean%20Trained%20Model"
click node_backdoor_models "https://github.com/mahbub126/backdoormalware/tree/main/Backdoored%20Trained%20Model"
click node_test_samples "https://github.com/mahbub126/backdoormalware/tree/main/30%20Clean%20Test%20Sample"
click node_model_testing "https://github.com/mahbub126/backdoormalware/blob/main/Testing_model_with_sample_images.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_dataset,node_binary_convert,node_gray_images toneBlue
class node_trigger_generator,node_training_malware,node_backdoor_trainers toneAmber
class node_dense_trainer,node_mobile_trainer,node_vgg16_trainer,node_vgg19_trainer,node_nasnet_trainer toneMint
class node_clean_models,node_backdoor_models,node_test_samples,node_model_testing,node_predictions toneRose
class node_researcher toneIndigo
```

## Components

### Samples and Images

- [Dike Dataset](https://github.com/mahbub126/backdoormalware/tree/main/dike_dataset): `dike_dataset`
- [Binary Converter](https://github.com/mahbub126/backdoormalware/blob/main/BinaryToGrayConverter-Simple.ipynb): `BinaryToGrayConverter-Simple.ipynb`
- **Grayscale Images**

### Backdoor Preparation

- [Trigger Generator](https://github.com/mahbub126/backdoormalware/blob/main/BackdoorImageGenerator%20with%20Black%20And%20White%20Box.ipynb): `BackdoorImageGenerator with Black And White Box.ipynb`
- [Training Malware Images](https://github.com/mahbub126/backdoormalware/tree/main/Malware%20Images%20to%20add%20backdoor%20for%20training): `Malware Images to add backdoor for training`
- **Backdoor Training Samples**

### Model Training

- [DenseNet Trainer](https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20Densenet.ipynb): `Train Backdoor Densenet.ipynb`
- [MobileNet Trainer](https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20MobileNet.ipynb): `Train Backdoor MobileNet.ipynb`
- [VGG-16 Trainer](https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20VGG-16.ipynb): `Train Backdoor VGG-16.ipynb`
- [VGG-19 Trainer](https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor%20VGG19.ipynb): `Train Backdoor VGG19.ipynb`
- [NasNet Trainer](https://github.com/mahbub126/backdoormalware/blob/main/Train%20Backdoor-NasNetMobile.ipynb): `Train Backdoor-NasNetMobile.ipynb`

### Testing and Models

- [Clean Models](https://github.com/mahbub126/backdoormalware/tree/main/Clean%20Trained%20Model): `Clean Trained Model`
- [Backdoored Models](https://github.com/mahbub126/backdoormalware/tree/main/Backdoored%20Trained%20Model): `Backdoored Trained Model`
- [Clean Test Samples](https://github.com/mahbub126/backdoormalware/tree/main/30%20Clean%20Test%20Sample): `30 Clean Test Sample`
- [Sample Image Testing](https://github.com/mahbub126/backdoormalware/blob/main/Testing_model_with_sample_images.ipynb): `Testing_model_with_sample_images.ipynb`
- **Predictions**

### Other components

- **Researcher**

## Connections

- Researcher → Dike Dataset: selects samples (evidence: `README.md`)
- Dike Dataset → Binary Converter: converts binaries (evidence: `README.md`)
- Binary Converter → Grayscale Images: produces images (evidence: `README.md`)
- Grayscale Images → Trigger Generator: adds triggers (evidence: `README.md`)
- Training Malware Images → Trigger Generator: provides malware images (evidence: `README.md`)
- Trigger Generator → Backdoor Training Samples: generates triggered images (evidence: `README.md`)
- Researcher → DenseNet Trainer: chooses training (evidence: `README.md`)
- Researcher → MobileNet Trainer: chooses training (evidence: `README.md`)
- Researcher → VGG-16 Trainer: chooses training (evidence: `README.md`)
- Researcher → VGG-19 Trainer: chooses training (evidence: `README.md`)
- Researcher → NasNet Trainer: chooses training (evidence: `README.md`)
- DenseNet Trainer → Clean Models: trains clean models (evidence: `README.md`)
- DenseNet Trainer → Backdoored Models: trains triggered models (evidence: `README.md`)
- MobileNet Trainer → Clean Models: trains clean models (evidence: `README.md`)
- MobileNet Trainer → Backdoored Models: trains triggered models (evidence: `README.md`)
- VGG-16 Trainer → Clean Models: trains clean models (evidence: `README.md`)
- VGG-16 Trainer → Backdoored Models: trains triggered models (evidence: `README.md`)
- VGG-19 Trainer → Clean Models: trains clean models (evidence: `README.md`)
- VGG-19 Trainer → Backdoored Models: trains triggered models (evidence: `README.md`)
- NasNet Trainer → Clean Models: trains clean models (evidence: `README.md`)
- NasNet Trainer → Backdoored Models: trains triggered models (evidence: `README.md`)
- Clean Test Samples → Sample Image Testing: provides test images (evidence: `README.md`)
- Clean Models → Sample Image Testing: tests clean models (evidence: `README.md`)
- Backdoored Models → Sample Image Testing: tests backdoored models (evidence: `README.md`)
- Researcher → Sample Image Testing: runs predictions (evidence: `README.md`)
- Sample Image Testing → Predictions: returns predictions (evidence: `README.md`)
