carlosochoap/win32-process-enum

GitHub: carlosochoap/win32-process-enum

基于 Win32 API 的进程与模块枚举工具,用于学习恶意软件在侦察阶段使用的进程遍历和反分析环境检测技术。

Stars: 0 | Forks: 0

# win32-process-enum 使用 Win32 Tool Help Library 的进程枚举器。用于学习恶意软件侦察技术的教育项目。 ## 功能说明 1. **枚举所有正在运行的进程**,使用 `CreateToolhelp32Snapshot` + `Process32First/Next` 2. **显示进程详情**:PID、PPID(父进程)、线程数、可执行文件名 3. **检测安全工具**:杀毒软件、调试器、虚拟机工具、沙箱软件 4. **枚举已加载的模块 (DLL)**,使用 `Module32First/Next` 枚举已检测进程的加载模块 5. **标记可疑的 DLL**,这些 DLL 表明处于分析环境(Sandboxie、hooking DLL 等) ## 学习到的技术 | 概念 | Win32 API | 恶意软件应用场景 | |---|---|---| | 进程快照 | `CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS)` | 侦察:了解正在运行的进程 | | 进程遍历 | `Process32FirstW` / `Process32NextW` | 寻找杀毒软件以进行逃避,或寻找注入目标 | | 父进程 PID (PPID) | `PROCESSENTRY32W.th32ParentProcessID` | 检测可疑的父子进程链 | | 模块枚举 | `TH32CS_SNAPMODULE` + `Module32FirstW/NextW` | 查找基址,检测钩子 (hooks) | | 可疑 DLL 检测 | 将加载的 DLL 与已知列表进行比较 | 检测沙箱、调试器、杀毒软件钩子 | ## 构建 在 Visual Studio 中打开 `win32-process-enum.sln` 并构建(x64 Debug)。 或者使用 MSVC 命令行: cl main.c /Fe:process-enum.exe ## 注意事项 - 模块枚举需要相应的权限。受保护的进程(SYSTEM、csrss.exe)会返回 `ERROR_ACCESS_DENIED (5)`。请以管理员身份运行以访问更多进程。 - 本项目仅用于**教育目的**。请仅在你自己的机器或虚拟机上运行。 ## 10 个项目中的第 3 个 这是一系列渐进式学习的一部分:针对 Windows 的 C 语言与恶意软件技术。
标签:CreateToolhelp32Snapshot, DAST, DOM解析, Golang, Linux, Visual Studio, Win32 API, Windows开发, 云资产清单, 反虚拟机, 反调试, 威胁情报, 安全分析环境检测, 安全学习, 安全工具检测, 安全意识培训, 安全编程, 客户端加密, 开发者工具, 恶意软件分析, 数据包嗅探, 数据展示, 无线安全, 模块遍历, 沙箱逃逸, 红队, 网络安全审计, 进程快照, 进程枚举, 逆向工程