palantir1997/Malware-Analysis-Basics
GitHub: palantir1997/Malware-Analysis-Basics
一个系统性的Windows恶意软件分析入门学习仓库,整理了从PE文件结构到静态与动态分析的完整知识体系和实践路线图。
Stars: 0 | Forks: 0
# 🔍 恶意软件分析基础
[](LICENSE)
[](README.md)
[](https://github.com/palantir1997/Malware-Analysis-Basics)
## 📚 关于本仓库
本仓库用于整理和分享在 **Windows 恶意软件分析训练营** 课程中学习到的内容。
### 目标
- ✅ 整理恶意软件分析的基础概念
- ✅ 分享实际分析案例与技巧
- ✅ 提供成为安全专家的学习资料
- ✅ 与学习伙伴共享知识
## 🎯 学习内容
### 1️⃣ PE 文件结构 (Portable Executable)
- PE 文件的定义与结构
- 头部分析
- Import/Export 函数
- 节 (Section) 分析
### 2️⃣ DLL 与 API 函数
- DLL 的作用与重要性
- 主要系统 DLL 文件
- `Kernel32.dll` - 内存、文件输入/输出
- `USER32.dll` - UI 管理
- `ADVAPI32.dll` - 注册表访问
- `Wininet.dll` - 网络功能
- `GDI32.dll` - 图形输出
- `SHELL32.dll` - Shell 接口
- 其他重要 DLL
### 3️⃣ 恶意软件分析技术
- **静态分析 (Static Analysis)**
- PE 头部分析
- Import 函数分析
- 字符串提取
- 加壳检测
- **动态分析 (Dynamic Analysis)**
- 进程监控
- 文件系统监视
- 注册表监控
- 网络流量分析
### 4️⃣ 识别恶意软件的意图
- 通过 DLL 函数组合分析意图
- 基于主机的证据 (Host-based Evidence)
- 基于网络的证据 (Network-based Evidence)
### 5️⃣ 分析工具
- **Flare VM** - 多合一分析环境
- **IDA Pro** / **Ghidra** - 反汇编器
- **Wireshark** - 网络分析
- **Process Monitor** - 进程监视
- **Regshot** - 注册表更改追踪
## 📖 核心概念
### 恶意软件意图分析示例
```
WriteFile() + VirtualAlloc() 함수 사용
↓
"메모리를 할당하고 시스템 파일을 변조하려고 한다"
↓
⚠️ 고위험 악성코드
```
### 分析的 4 个目的
| 目的 | 说明 | 示例 |
|-----|------|------|
| **基础分析** | 了解文件的基本属性 | 文件大小、类型、编译时间 |
| **编译情况** | 确认使用的编程语言 | C/C++, C#, Python, Go |
| **加壳情况** | 检测加壳的恶意软件并脱壳 | UPX, ASPack 等 |
| **依赖性确认** | 了解所需的 DLL 和 API 函数 | 网络、文件系统访问 |
### PE 文件的主要概念
- **Offset**: 距离文件第一个字节的偏移量
- **VA (Virtual Access)**: 进程虚拟内存的绝对地址
- **RVA (Relative Address)**: 相对于基地址的相对地址
## 🛠️ 所需环境
### 必要条件
- Windows 10 Pro 或更高版本
- 至少 60GB 存储空间
- VirtualBox 或 VMware
### 推荐工具
- Flare VM (集成了所有工具的环境)
- IDA Free / Ghidra (免费的反汇编器)
- Wireshark (网络分析)
- Process Monitor (进程监控)
## 📚 学习路线图
```
Week 1-2: 기초 개념
├─ PE 파일 구조 이해
├─ DLL과 API 함수
├─ 악성코드 분류
└─ 분석 도구 소개
Week 3-4: 정적 분석
├─ 파일 분석 기법
├─ Import 함수 분석
├─ 문자열 및 패턴 분석
└─ 패킹 탐지
Week 5-6: 동적 분석
├─ 가상 환경 구성
├─ 프로세스 모니터링
├─ 네트워크 분석
└─ 메모리 분석
Week 7-8: 고급 분석
├─ 리버스 엔지니어링
├─ 난독화된 코드 분석
├─ 실제 악성코드 분석
└─ 분석 보고서 작성
```
## 📊 学习进度
- [x] 理解基本概念
- [x] PE 文件结构
- [x] DLL 与 API
- [x] 分析技术概论
- [ ] 静态分析进阶
- [ ] 加壳检测与脱壳
- [ ] 混淆代码分析
- [ ] 高级 PE 分析
- [ ] 动态分析进阶
- [ ] 内存取证
- [ ] 网络行为分析
- [ ] 反分析技术
- [ ] 实战项目
- [ ] 真实恶意软件分析
- [ ] 编写分析报告
- [ ] 公开漏洞分析
## 📖 推荐学习资料
### 官方文档
- [Flare VM GitHub](https://github.com/mandiant/flare-vm)
- [MITRE ATT&CK Framework](https://attack.mitre.org/)
- [Microsoft PE Format Specification](https://docs.microsoft.com/en-us/windows/win32/debug/pe-format)
### 书籍
- 📕 **Practical Malware Analysis** - Michael Sikorski, Andrew Honig
- 📕 **The Art of Memory Forensics** - Michael Hale Ligh
- 📕 **Reverse Engineering for Beginners** - Dennis Yurichev
### 在线课程
- Malwarebytes Labs Blog
- SANS Cyber Aces
- HackTheBox Challenges
### 恶意软件样本
- [Practical Malware Analysis Labs](https://github.com/mikesiko/PracticalMalwareAnalysis-Labs)
- [VirusShare](https://virusshare.com/) (注意:真实恶意软件)
- [YARA Rules](https://github.com/Yara-Rules/rules)
## 📝 许可证
本项目遵循 [MIT License](LICENSE)。
## ⚠️ 注意事项
### 安全与法律声明
- ⚠️ 本仓库中的恶意软件样本仅供**教育目的**使用
- ⚠️ 务必始终在**隔离的虚拟环境**中进行分析
- ⚠️ 真实恶意软件分析**必须在获得授权的环境**中进行
- ⚠️ 法律责任由用户自行承担
### 隐私保护
- 在进行实际分析时,请注意不要包含个人信息
- 在分享结果时,请移除敏感信息
## 🎓 学习之旅
**开课日期:** 2026年7月14日开始
**训练营:** 恶意软件分析基础
**进展状态:** 🟢 进行中
## 📊 仓库统计



**⭐ 本仓库对您有帮助吗?请点击 Star!**
**🔔 点击 Watch 按钮获取最新更新!**
**Made with ❤️ for Malware Analysis Learning**
*通过不断学习,正逐步成长为安全专家...*
标签:云安全监控, 云资产清单, 合规性检查, 学习笔记, 恶意代码分析, 逆向工程, 配置文件, 静态分析