rizzit17/MalScanPlusPlus
GitHub: rizzit17/MalScanPlusPlus
MalScan++ 是一个基于 C++20 的高性能静态恶意软件启发式分析引擎,通过 Shannon 熵计算和多维度风险评分在不执行文件的前提下检测可疑指标。
Stars: 0 | Forks: 0
🛡️ MalScan++
高性能、双执行静态恶意软件分析引擎
[](https://en.cppreference.com/w/cpp/compiler_support)
[](https://cmake.org/)
[](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仪表盘, 云安全监控, 启发式分析, 网络测绘, 静态分析