EfeSidal/EntroRS
GitHub: EfeSidal/EntroRS
EntroRS 是一款基于 Rust 开发的高性能 Windows PE 文件静态分析工具,能够通过解析 PE 结构、计算香农熵和分析导入表来识别潜在的恶意软件特征。
Stars: 1 | Forks: 0
# 🦀 EntroRS - 静态恶意软件分析与 PE 分析器




[🇹🇷 Türkçe](#turkce) | [🇬🇧 English](#english)
### 👤 项目信息
## | | |
|---|---|
| **学生** | Efe Sidal |
| **指导教师** | Keyvan Arasteh |
| **大学** | İstinye 大学 |
| **专业** | 信息安全技术 |
| **课程** | 逆向工程 |
## 🇹🇷 Türkçe
EntroRS 是一款使用 Rust 语言开发的高性能安全工具,专门针对 Windows PE (Portable Executable) 文件执行基于签名和启发式的静态分析。
### 🚀 功能
* **PE Header 分析:** 检测文件架构 (x86/x64) 及基本元数据。
* **Section Parsing:** 对比 Raw Size 与 Virtual Size(检测潜在的 packing)。
* **Shannon Entropy:** 通过数据密度分析,在数学层面上揭示加密 或打包 的区域。
* **IAT (Import Address Table) 分析:** 映射外部调用的系统 DLL 及其子函数。
* **可疑 API 检测:** 自动标记关键函数,如反调试 (`IsDebuggerPresent`)、内存操作 (`VirtualAlloc`) 以及动态加载 (`LoadLibraryA`)。
* **Strings 分析:** 使用 Regex 引擎提取文件内硬编码的 URL、IP 地址和关键文件路径。
### 🛡️ MITRE ATT&CK 矩阵
| ID | 名称 | 描述 |
| :--- | :--- | :--- |
| **T1027** | 混淆文件或信息 | 基于熵值的打包/加密区段检测。 |
| **T1140** | 解混淆/解码文件或信息 | 通过高熵值的入口点识别混淆逻辑。 |
| **T1129** | 共享模块 | 通过 IAT 分析识别外部库依赖。 |
| **T1082** | 系统信息发现 | 检测用于反调试/反虚拟机的 API。 |
### 🦀 为什么选择 Rust?
Rust 提供了无需垃圾回收器 的内存安全保证、实现最大性能的零成本抽象,并且作为一种现代的系统编程语言,它具备 C/C++ 的速度。这些特性使得 EntroRS 成为安全、快速处理潜在恶意二进制 数据的理想工具。
### 📊 技术细节:Entropy 引擎
该工具建立在网络安全中“静态分析”学科的基础之上。为了检测恶意软件的代码混淆 技术,它对文件的每一个 PE 区段应用 **Shannon Entropy** 算法:
$$H(X) = - \sum P(x_i) \log_2 P(x_i)$$
该数学模型对数据的随机性程度进行打分,范围在 0.0 到 8.0 之间。超过 7.0 的值表明,被分析的区段极有可能经过了压缩或加密处理。
## 🎬 演示
您可以通过以下视频观看工具的运行实况、PE 分析过程以及风险评分:
[](https://youtu.be/yfGaLHRuOGc)
### 🛠 安装与使用
**构建 (Release Mode):**
```
cargo build --release
```
**运行:**
```
./target/release/EntroRS.exe --file
```
# 🦀 EntroRS - 静态恶意软件分析与 PE 分析器




### 👤 项目信息
| | |
|---|---|
| **学生** | Efe Sidal |
| **指导教师** | Keyvan Arasteh |
| **大学** | Istinye University |
| **专业** | 信息安全技术 |
| **课程** | 逆向工程 |
## 🇬🇧 English
EntroRS 是一款使用 Rust 开发的高性能静态恶意软件分析工具,能够对 Windows PE (Portable Executable) 文件执行基于签名和启发式的静态分析。
### 🚀 功能
* **PE Header 分析:** 检测文件架构 (x86/x64) 及基本元数据。
* **Section Parsing:** 对比 Raw Size 与 Virtual Size 以识别潜在的 packing。
* **Shannon Entropy:** 进行数学数据密度分析,以揭示加密或打包的区段。
* **IAT (Import Address Table) 分析:** 映射外部导入的系统 DLL 及其函数。
* **可疑 API 检测:** 自动标记关键函数,例如反调试 (`IsDebuggerPresent`)、内存操作 (`VirtualAlloc`) 以及动态加载 (`LoadLibraryA`)。
* **Strings 分析:** 基于 Regex 提取硬编码的 URL、IP 地址和关键文件路径。
### 🛡️ MITRE ATT&CK 矩阵
| ID | 名称 | 描述 |
| :--- | :--- | :--- |
| **T1027** | 混淆文件或信息 | 基于熵值的打包/加密区段检测。 |
| **T1140** | 解混淆/解码文件或信息 | 通过高熵值入口点识别混淆逻辑。 |
| **T1129** | 共享模块 | 通过 IAT 分析识别外部库依赖。 |
| **T1082** | 系统信息发现 | 检测用于反调试或反虚拟机指纹识别的 API。 |
### 🦀 为什么选择 Rust?
Rust 提供了无需垃圾回收器 的内存安全保证、实现最大性能的零成本抽象,并且作为一种现代、安全的系统编程语言,它具备 C/C++ 的速度。这使得它非常适合安全且高效地处理潜在恶意的二进制数据。
### 📊 技术细节:Entropy 引擎
该工具建立在网络安全中“静态分析”学科的核心原则之上。为了检测恶意软件的代码混淆技术,它对每个 PE 区段应用 **Shannon Entropy** 算法:
$$H(X) = - \sum P(x_i) \log_2 P(x_i)$$
该数学模型对数据的随机性进行评分,范围从 0.0 到 8.0。高于 7.0 的值强烈表明被分析的区段已经受过了压缩或加密例程的处理。
## 🎬 演示
观看工具的实际运行 —— PE 分析过程及风险评分:
[](https://youtu.be/yfGaLHRuOGc)
### 🛠 安装与使用
**构建 (Release Mode):**
```
cargo build --release
```
**使用:**
```
./target/release/EntroRS.exe --file
```
标签:DevSecOps, DNS 反向解析, PE文件解析, Rust, Shannon熵, 上游代理, 云资产清单, 安全工具, 网络流量审计, 逆向工程, 通知系统, 静态恶意软件分析