A user-mode x86_64 binary emulator for inspecting programs, tracing syscalls, and safely running untrusted software.
Brovan is an interactive x86_64 emulator that gives you full control over how programs execute. It can be used to reverse engineer binaries, trace API and system calls, capture network traffic, or run software in an isolated environment without executing it directly on your host CPU.
It is designed to support as much software as possible while remaining a safe, efficient, and high-performance option for running software across Windows and Linux. Brovan is still in early development, so it is not yet fully mature or reliable.
Supported backends:
- Unicorn Engine for cross-platform emulation
- WHP (Windows Hypervisor Platform) for hardware acceleration on Windows
- KVM (Kernel-based Virtual Machine) for hardware acceleration on Linux
|
MULTI-FORMAT LOADING Load and execute binaries directly inside the emulator without host installation. PE ELF Memory Dumps Raw Shellcode
|
BROVVULK GRAPHICS LAYER Custom Vulkan translation subsystem handling DXVK calls and game rendering. DXVK DirectX Vulkan Surface
|
|
SYSCALL & API TRACING Inspect execution live to see what functions, DLLs, and kernel calls the program accesses. Kernel Syscalls Symbol Resolving Loaded DLLs
|
NETWORK DUMPING Intercept guest socket traffic and export network activity for payload analysis. Socket Intercept PCAP Capture Traffic Analysis
|
Brovan can render guest graphical applications through its Brovvulk translation subsystem. Here is a sample game i had (Deltarune), but it can work on many other games:
|
|
Linux ELF on Windows Running fastfetch cross-platform
|
Syscall Tracing Live logs of API calls and dynamic symbols |
Raw Binaries Executing shellcode and memory dumps |
Network Capture Intercepting guest socket reads and writes |
Traffic Analyzer Viewing dumped PCAPs and payloads |
Check out the GitHub Wiki for:
- Building from source
- Architecture details
- Command reference and usage guides
- FAQ
Warning
The Releases page may not always have the latest changes.
For the most up-to-date version, build from source instead
or use the latest build from GitHub Actions
Thanks to Iced library for x86_64 disassembly and assembly.
Thanks to Unicorn Engine for the core emulator.
Thanks to my friend GittingHubbers for help with the MLFQ Scheduler.
GPL-2.0