wihbi/static-analysis-lab
GitHub: wihbi/static-analysis-lab
一个聚焦 Windows PE 文件静态分析与逆向工程的学习型实验室,通过分层方法论教授如何在不执行二进制文件的情况下还原程序逻辑并提取 IoC。
Stars: 0 | Forks: 0
# 🧬 静态分析实验室
## 🔬 概述
本实验重点介绍使用现代逆向工程方法,对 **Windows 二进制文件 (PE - Portable Executable)** 进行 **静态分析**。
本实验的主要目的是了解如何仅通过内部结构来理解程序的运作方式,而无需直接执行二进制文件。
分析采用 **基于 Intel 架构的逆向工程** 方法,包括读取 PE 结构、字符串分析,直至反编译程序逻辑。
## 🎯 目标
- 理解 **PE (Portable Executable)** 的内部结构。
- 在不执行的情况下分析程序行为。
- 识别二进制文件中的重要指标(字符串、函数、导入表)。
- 通过反编译结果重构程序逻辑。
- 训练阅读 Ghidra 汇编级别抽象的能力。
## 🧠 方法论
分析采用 **分层静态分析** 方法,步骤如下:
### 1. 文件识别层
使用 `file` 和 Detect It Easy 等工具识别二进制文件的类型、架构以及文件的基本特征。
### 2. 元数据与结构层
分析 PE 结构、节区、入口点以及导入表,以了解程序执行的上下文。
### 3. 字符串勘察层
进行字符串提取,以发现程序逻辑的迹象,例如:
- 输入验证
- 凭证检查
- 错误消息
- 隐藏的 flag 格式
### 4. 控制流发现
使用 **交叉引用 (XREF)** 来查找字符串与使用该字符串的函数之间的关系。
### 5. 反编译层
分析 Ghidra 反编译生成的伪代码,以在高级别类 C 表示层面上理解程序逻辑。
### 6. 代码重构
进行以下操作:
- 函数签名修正
- 变量重命名
- 提升可读性
使程序结构更易于分析。
## 🛠️ 工具集
- Ghidra(主要逆向工程工具)
- Detect It Easy (DIE)
- PE 结构分析器 (PE-bear / CFF Explorer)
- 字符串实用工具
- 二进制检查工具
## 🧩 分析重点
每个二进制文件的分析重点在于:
- 输入验证逻辑
- 凭证 / flag 检查机制
- 隐藏的条件分支
- 硬编码值
- 函数调用关系
- 安全漏洞模式
## 📊 分析输出
每次分析的最终结果包括:
- 理解程序结构
- 重构伪代码逻辑
- 识别验证条件
- 发现正确的输入/flag
- 洞察二进制文件中简单的保护技术
## 🚀 洞见
静态分析不仅仅是阅读代码,更关乎于:
## 🧾 结论
本实验深入探讨了 Windows 可执行文件在内部是如何运作的。
通过静态分析方法,我们能够仅凭二进制结构完整地重构程序逻辑,而完全无需运行它。
这为以下领域奠定了重要基础:
- 逆向工程
- 恶意软件分析
- 二进制漏洞利用
- 应用安全研究
标签:DAST, Ghidra, IoC提取, Windows PE, 云安全监控, 云资产清单, 恶意软件分析, 逆向工程, 静态分析