NPFERNANDO123/Manual-Map-Detection
GitHub: NPFERNANDO123/Manual-Map-Detection
一款轻量级 Windows 运行时内存扫描器,通过多种启发式技术检测进程内通过手动映射技术注入的隐蔽模块。
Stars: 0 | Forks: 0
# 🧠 手动映射检测
一个用 C++ 编写的轻量级**运行时内存扫描器**,通过分析虚拟内存区域、熵模式和内存中的 PE 结构,试图检测进程内的手动映射模块。
本项目演示了通常用于以下领域的底层 Windows 内存检查技术:
- 逆向工程
- 反作弊研究
- 恶意软件分析
- 防御性安全工具
## 📌 功能
- 🔎 使用 `NtQueryVirtualMemory` 枚举进程虚拟内存
- ⚙️ 检测可疑的可执行 `MEM_PRIVATE` 区域
- 📊 针对加壳或混淆代码的香农熵分析
- 🧩 检测被擦除的 PE 头部("ErasePE" 风格的映射)
- 🧬 扫描可读内存以查找隐藏的 PE 结构
- 🚀 持续的实时扫描循环
## 🛠️ 检测技术
扫描器应用多种启发式方法来识别手动映射模块。
### 1️⃣ 可执行私有内存检测
手动映射模块通常位于:
- `MEM_PRIVATE` 内存区域
- 可执行保护页(`PAGE_EXECUTE*`)
### 2️⃣ 高熵分析
加壳或加密的载荷通常会产生高熵。
程序会:
- 从可执行区域采样 **4096 字节**
- 计算**香农熵**
- 标记超过以下值的区域:
### 3️⃣ ErasePE 布局检测
某些手动映射器在加载后会擦除 PE 头部以规避扫描器。
检测器会搜索:
- 连续的私有内存区域
- 可执行 + 可读内存组合
- 类似于映射 PE 映像的布局
### 4️⃣ 隐藏 PE 头部扫描
扫描可读内存区域以查找嵌入的 PE 签名:
- `IMAGE_DOS_HEADER`(`MZ`)
- 有效的 `e_lfanew` 偏移
- `IMAGE_NT_HEADERS`(`PE` 签名)
- 合理的节区数量
这有助于检测头部被重定位或部分移除的模块。
## 🧱 需求
- Windows 10 / 11
- Visual Studio 2019+(或 MSVC 工具链)
- C++17 或更高版本
- Win32 API
## 🔧 构建
### Visual Studio
1. 克隆仓库:
```
git clone https://github.com/yourname/manual-map-detection.git
```
标签:C++, Conpot, DeepSeek, DNS 反向解析, EDR, Linux, PE结构分析, SecList, TLS, Win32 API, Windows安全, WSL, 云资产清单, 内存取证, 内存扫描, 反作弊, 恶意代码分析, 手动映射检测, 数据擦除, 注入检测, 熵值分析, 脆弱性评估, 蜜罐平台, 运行时检测, 逆向工程, 配置文件, 防御工具