Maurice Heumann 3836f5d381 Always use release windows artifacts (#186)
This will always use the windows release test sample artifacts. It
doesn't really make sense to test the debug artifacts. They're just
slower and do the same.

This will still run debug artifacts on windows.
The change only applies to non-windows platforms
2025-04-09 19:55:26 +02:00
2025-04-09 12:28:19 -03:00
2025-01-10 21:13:15 +01:00
2025-03-18 20:58:26 +01:00
2024-08-15 19:00:01 +02:00
2025-02-03 20:27:28 +01:00
2025-04-01 18:49:41 +02:00
2024-08-15 19:00:01 +02:00
2024-10-23 19:10:13 +02:00
2025-04-09 18:59:09 +02:00

Windows User Space Emulator

A high-performance Windows process emulator that operates at syscall level, providing full control over process execution through comprehensive hooking capabilities.

Perfect for security research, malware analysis, and DRM research where fine-grained control over process execution is required.

Built in C++ and powered by the Unicorn Engine (or the icicle-emu 🆕).

Key Features

  • 🔄 Syscall-Level Emulation
    • Instead of reimplementing Windows APIs, the emulator operates at the syscall level, allowing it to leverage existing system DLLs
  • 📝 Advanced Memory Management
    • Supports Windows-specific memory types including reserved, committed, built on top of Unicorn's memory management
  • 📦 Complete PE Loading
    • Handles executable and DLL loading with proper memory mapping, relocations, and TLS
  • Exception Handling
    • Implements Windows structured exception handling (SEH) with proper exception dispatcher and unwinding support
  • 🧵 Threading Support
    • Provides a scheduled (round-robin) threading model
  • 💾 State Management
    • Supports both full state serialization and fast in-memory snapshots (currently broken 😕)
  • 💻 Debugging Interface
    • Implements GDB serial protocol for integration with common debugging tools (IDA Pro, GDB, LLDB, VS Code, ...)

Note

The project is still in a very early, prototypical state. The code still needs a lot of cleanup and many features and syscalls need to be implemented. However, constant progress is being made :)

Preview

Preview

YouTube Overview

YouTube video

Click here for the slides.

Build & Run Instructions

Instructions on how to build & run the emulator and more can be found in the Wiki!

Description
Languages
C++ 85.1%
TypeScript 9.9%
Rust 2.6%
CMake 1.5%
CSS 0.3%
Other 0.5%