6 Repos
Executing binaries by mapping system calls to host functions without emulating a full kernel.
Distinguishing note: Shortlist candidates focus on provisioning or specific hardware requirements rather than the architectural pattern of user-mode emulation.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · User-Mode Emulation. Refine with filters or upvote what's useful.
Ish is a Linux shell emulator for iOS that provides a local terminal environment for running shell commands and managing files. It functions as an instruction-level emulator that enables the execution of Linux binaries on mobile devices by simulating an Alpine Linux environment. The project distinguishes itself by combining user-mode Linux emulation with a virtual root filesystem. This allows the software to map Linux kernel system calls to host functions and execute scripts and toolsets directly on an iPhone or iPad. The emulator also provides low-level program debugging capabilities, inclu
Executes Linux binaries by mapping system calls to host functions without requiring a full kernel.
Buildkit is a programmable container build toolkit and OCI container image builder that converts build definitions into concurrent dependency graphs for image construction. It functions as an OCI image distribution engine, capable of generating container images and exporting artifacts to local storage or remote registries. The project is distinguished by its use of a low-level binary intermediate representation to decouple high-level build languages from the execution engine. It supports multi-platform image builds through user-mode architecture emulation and provides a distributed build cach
Employs user-mode emulation to run binaries for foreign CPU architectures during multi-platform builds.
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Analyzes binaries within a simulated user-space environment using system emulators.
Box64 ist eine Laufzeitumgebung für verschiedene Architekturen und eine User-Mode-Emulationsschicht, die es ermöglicht, Linux- und Windows-Software auf nicht-nativer Hardware auszuführen. Es fungiert als x86-64-Befehlsemulator und Binärübersetzer, der 64-Bit-Binärdateien auf verschiedenen CPU-Architekturen ausführt, indem er Maschinencode in native Befehle übersetzt. Das Projekt nutzt dynamische Rekompilierung zur Beschleunigung der Ausführung und bildet Gast-Systemaufrufe auf native Host-Bibliotheken ab, um Geschwindigkeit und Hardware-Kompatibilität zu erhöhen. Es kann eine 32-Bit-Ausführungsumgebung simulieren, um Legacy-Software zu unterstützen, und integriert sich in den Betriebssystem-Kernel, um fremde ausführbare Dateien automatisch zu erkennen und zu starten. Das System deckt die Ausführung von 64-Bit- und 32-Bit-Linux-Programmen, Windows-Binärdateien und Game-Clients ab, einschließlich Unterstützung für Vulkan-Grafik-Overlays. Es bietet Mechanismen für das Bündeln von Bibliotheken, das Laden von AppImage-Paketen und hardware-spezifische Zieloptimierungen. Die Software unterstützt statische Binärkompilierung und bietet eine Cross-Compilation-Toolchain für das Deployment über verschiedene CPU-Architekturen hinweg.
Simulates a target CPU environment within a host process without requiring a full operating system kernel boot.
AFL is a coverage-guided fuzzer and security vulnerability scanner used to identify software bugs and memory corruption by feeding programs mutated data. It functions as a binary instrumentation tool and a test case minimizer to locate crashes and isolate the smallest set of bytes causing a fault. The project distinguishes itself through its ability to operate as a parallel fuzzing orchestrator, distributing workloads across multiple CPU cores or networked machines. It utilizes dictionary-based mutation for complex file formats and performs input sensitivity analysis to identify critical sect
Monitors execution paths of pre-compiled binaries by running them through an emulator to intercept instructions.
proot-distro is a rootless container runtime and Linux distribution manager that allows users to install and run isolated guest environments without requiring administrative root privileges. It utilizes PRoot to simulate root access and filesystem redirection, enabling the deployment of full Linux distributions in a non-root space. The project functions as an OCI container image handler, capable of building, pulling, and pushing OCI-compatible images and manifests. It further serves as a cross-architecture execution layer, utilizing user-mode emulation to run binaries and containers built for
Translates instructions from different CPU architectures through a user-mode emulation layer for cross-platform compatibility.