Anubha20/malware_image_detection_project

GitHub: Anubha20/malware_image_detection_project

基于深度学习的恶意软件图像分类检测教学项目,通过将二进制文件转为灰度图像实现恶意与良性样本的二分类判别。

Stars: 0 | Forks: 0

# 恶意软件图像检测 — 项目压缩包 **这是什么** 一个完整、可直接运行的基于图像的恶意软件检测期末项目骨架。 本压缩包使用*合成样本数据*(随机图像),以便你能够运行代码、训练一个小型模型, 并测试推理及一个简单的 Flask Web 演示。在进行最终实验时,请将样本数据集替换为你真实的恶意软件图像数据集 (处理时应符合道德和法律规范)。 **内容** - `data/` — 小型合成数据集(train / val / test),包含 'malware' 和 'benign' 文件夹。 - `src/convert_bins_to_images.py` — 展示如何将二进制文件转换为灰度图像的脚本(仅作示例)。 - `src/generate_sample_data.py` — 生成此处附带的合成数据集。 - `model/train.py` — Keras 训练脚本,保存 `model.h5`。 - `model/infer.py` — 加载已保存的模型并对图像进行预测。 - `app/flask_app.py` — 简单的 Flask Web 应用,用于上传图像并获取预测结果。 - `requirements.txt` — Python 依赖项。 - `LICENSE` — MIT 许可证。 - `notebooks/demo.ipynb` —(可选)为了减小压缩包体积未包含此 notebook;你可以直接运行脚本。 **快速开始(推荐)** 1. 创建一个 Python virtualenv 并激活它。 2. 安装依赖项: pip install -r requirements.txt 3. (可选)重新生成样本数据: python src/generate_sample_data.py --out_dir data --img_size 64 --samples_per_class 200 已包含一个小型样本数据集。 4. 训练模型: python model/train.py --data_dir data --epochs 6 --img_size 64 这将保存 `model/model.h5`。 5. 对单张图像进行推理: python model/infer.py --model_path model/model.h5 --img_path data/test/malware/sample_0.png 6. 启动 Flask 演示: python -m app.flask_app 然后在浏览器中打开 `http://127.0.0.1:5000/` 以上传图像并获取预测结果。 **注意事项与后续步骤** - 将合成数据替换为由样本二进制文件制备的真实恶意软件图像(PNG/JPEG)。 - 对于研究/实验,请使用 transfer learning(预训练模型)、更大的图像、数据增强以及合适的评估指标(precision/recall/F1、混淆矩阵)。 - 在处理恶意软件样本时,请始终遵守法律和机构规定。
标签:Apex, Flask, Keras, Python, 图像分类, 无后门, 机器学习, 深度学习, 逆向工具