momo5502/sogen
GitHub: momo5502/sogen
基于 Unicorn/icicle-emu 引擎的 Windows 用户空间模拟器,在 syscall 级别提供完整的进程执行控制与调试能力。
Stars: 2757 | Forks: 178
## 核心特性 * 🔄 **Syscall 级别模拟** * 模拟器不是重新实现 Windows API,而是在 syscall 级别运行,允许利用现有的系统 DLL * 📝 **高级内存管理** * 支持 Windows 特有的内存类型,包括保留和已提交,基于 Unicorn 的内存管理构建 * 📦 **完整的 PE 加载** * 处理可执行文件和 DLL 加载,支持正确的内存映射、重定位和 TLS * ⚡ **异常处理** * 实现 Windows 结构化异常处理 (SEH),支持正确的异常分发器和解退操作 * 🧵 **线程支持** * 提供调度式(round-robin)线程模型 * 💾 **状态管理** * 支持完整状态序列化以及 ~~快速内存快照~~(目前损坏中 😕) * 💻 **调试接口** * 实现 GDB 串行协议,以便与常用调试工具(IDA Pro, GDB, LLDB, VS Code 等)集成 ## 预览  ## YouTube 概览 [](https://www.youtube.com/watch?v=wY9Q0DhodOQ) 点击此处查看幻灯片。 ## 快速开始 (Windows + Visual Studio) 1\. 检出代码: ``` git clone --recurse-submodules https://github.com/momo5502/sogen.git ``` 2\. 在克隆目录的 x64 Development Command Prompt 中运行以下命令: ``` cmake --preset=vs2022 ``` 3\. 构建在 `build/vs2022/emulator.sln` 生成的解决方案 4\. 以管理员身份运行 [grab-registry.bat](https://github.com/momo5502/sogen/blob/main/src/tools/grab-registry.bat) 创建注册表转储,并将其放置在 `analyzer.exe` 旁边的 artifacts 文件夹中 5\. 运行你选择的程序: ``` analyzer.exe C:\example.exe ```
标签:Bash脚本, C++, DAST, DRM研究, Hpfeeds, PE加载器, Unicorn Engine, Windows模拟器, 二进制分析, 云安全运维, 云资产清单, 内存管理, 分布式计算, 异常处理, 恶意软件分析, 挂钩技术, 数据擦除, 沙箱, 用户态模拟, 系统调用, 线程调度, 逆向工程