Portable Executable that emulates execve to interpret Executable and Linkable Format
Find a file
2025-10-02 01:47:52 +03:00
examples feat: add C and Rust 'Hello, World!' examples 2025-10-02 01:47:52 +03:00
src fix: don't VirtualAlloc same page multiple times 2025-10-02 01:45:26 +03:00
.envrc Hi 2025-09-30 17:50:14 +03:00
.gitignore Hi 2025-09-30 17:50:14 +03:00
build.zig Hi 2025-09-30 17:50:14 +03:00
build.zig.zon Hi 2025-09-30 17:50:14 +03:00
flake.lock Hi 2025-09-30 17:50:14 +03:00
flake.nix Hi 2025-09-30 17:50:14 +03:00
LICENSE Hi 2025-09-30 17:50:14 +03:00
README.md Hi 2025-09-30 17:50:14 +03:00

PExecvELF

Portable Executable that emulates execve to interpret Executable and Linkable Format

Why?

This 'emulator' was implemented in order to be able to run Linux executables (ELF) on Windows without using any kind of VM (WSL and etc). It only reimplements the subset of syscalls that cyrene-sr uses.

Usage

Compile it with Zig 0.15.1.

git clone https://git.xeondev.com/xeon/pexecvelf.git
cd pexecvelf
zig build -Dtarget=x86_64-windows -Doptimize=ReleaseFast

Run any ELF file, for example, cyrene-sr gameserver:

pexecvelf.exe gameserver

TODO

It's planned to extend the functionality of this emulator, as the development of cyrene-sr goes forward and more functionality is required. Pull requests are always welcome. It may be also interesting to try and emulate other small linux-only projects using this.

Join our community

For additional help, you can join our discord server