rizzit17/MalScanPlusPlus

GitHub: rizzit17/MalScanPlusPlus

MalScan++ 是一个基于 C++20 的高性能静态恶意软件启发式分析引擎,通过 Shannon 熵计算和多维度风险评分在不执行文件的前提下检测可疑指标。

Stars: 0 | Forks: 0

🛡️ MalScan++

高性能、双执行静态恶意软件分析引擎

[![C++20](https://img.shields.io/badge/C++-20-blue.svg?style=flat-square&logo=c%2B%2B)](https://en.cppreference.com/w/cpp/compiler_support) [![CMake](https://img.shields.io/badge/CMake-3.20+-success.svg?style=flat-square&logo=cmake)](https://cmake.org/) [![License](https://img.shields.io/badge/License-MIT-purple.svg?style=flat-square)](LICENSE)
**MalScan++** 是一个强大的命令行工具和 Web Dashboard,旨在使用纯静态启发式方法分析文件和目录中的恶意指标。它安全地评估文件元数据,计算 Shannon 熵以检测加壳的 payload,并识别混淆技术,而无需执行目标文件。 ## 🌟 核心特性 * **双执行模式**:通过终端运行 headless 扫描,或启动内置的 HTTP 服务器以访问高级 Web Dashboard。 * **Shannon 熵分析**:通过在恒定 $O(1)$ 内存中数学评估字节随机性(`H = -Σ p(x) log2(p(x))`),准确检测加壳、压缩或加密的 payload。 * **启发式风险引擎**:采用可插拔架构,针对多种威胁向量评估文件: * 可疑扩展名(`.scr`、`.vbs`、`.ps1`) * 双重扩展名欺骗(`invoice.pdf.exe`) * 混淆的隐藏目录/文件 * 威胁行为者关键字(`keygen`、`payload`、`injector`) * 规避填充的大型可执行文件(>50MB) * **分类风险评分**:自动将文件分类为 `SAFE`、`SUSPICIOUS` 或 `HIGH_RISK`。 * **标准化报告**:将分析结果导出为 JSON 和 CSV 格式,以便与外部 SIEM 集成。 ## 🏗️ 架构 MalScan++ 的构建严格遵循现代软件工程原则: * **Strategy Pattern**:启发式分析 pipeline 使用可插拔组件,允许轻松集成未来的检测算法。 * **内存效率**:二进制文件流以 8KB 的块进行处理,确保扫描海量 GB 级文件时零 RAM 开销。 * **原生 REST API**:集成 `cpp-httplib` 以实现原生线程安全的 HTTP 路由,而无需依赖庞大的外部框架。 ## 🚀 安装与构建 本项目依赖 `vcpkg` 进行依赖管理(`nlohmann-json`、`cxxopts`、`cpp-httplib`、`gtest`)。 ### 前置条件 * Visual Studio 2022(包含 Desktop Development C++ Workload) * CMake (3.20+) * [vcpkg](https://vcpkg.io/en/getting-started.html) 已安装并完成引导。 ### 构建说明 1. **克隆仓库:** git clone https://github.com/YourUsername/MalScanPlusPlus.git cd MalScanPlusPlus 2. **配置 CMake(替换 vcpkg 工具链路径):** cmake -B build -S . -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE="C:\path\to\vcpkg\scripts\buildsystems\vcpkg.cmake" 3. **以 Release 模式编译:** cmake --build build --config Release ## 💻 用法 ### 1. 终端模式 (CLI) 直接对任何文件或文件夹运行可执行文件。使用 `-v` 标志查看每个文件获得的准确启发式分数。 ``` .\build\Release\scanner.exe "C:\Path\To\Scan" -v --json --csv ``` ### 2. Web Dashboard 模式 MalScan++ 内置了一个 HTTP 服务器,可提供现代化的图形化 Dashboard。 ``` .\build\Release\scanner.exe --server 8080 ``` *在 Web 浏览器中打开 `http://localhost:8080` 即可访问扫描 UI。* ## ⚠️ 免责声明 MalScan++ 专为**静态**启发式分析而设计。它是一个教育性质的网络安全工具,不能替代动态沙箱、EDR 或传统的基于签名的杀毒引擎。它不会执行恶意软件,也不会提供沙箱环境。 ## 📝 许可证 基于 MIT 许可证分发。
标签:Bash脚本, C++20, DNS 反向解析, Web仪表盘, 云安全监控, 启发式分析, 网络测绘, 静态分析