v86 - x86 virtualization in JavaScript, running in your browser and NodeJS

  •        42

See API. wget -P images/ https://copy.sh/v86/images/{linux.iso,linux3.iso,kolibri.img,windows101.img,os8.dsk,freedos722.img,openbsd.img}.




Related Projects

QEMU - Machine Emulator and Virtualizer

  •    C

QEMU is a generic and open source machine emulator and virtualizer. When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.

jslinux-deobfuscated - JSLinux rewritten to be human readable, hand deobfuscated and annotated.

  •    Javascript

I wanted to understand how the amazing JsLinux worked, so in a fit of mania I hand de-obfuscated the codebase while studying it over a few days' time. In the off-chance someone else might be interested in this code as a basis for further weird in-browser x86 hacking I posted this redacted version of the code here, with permission of Mr. Bellard. I highly recommend checking out another open-source x86 emulation project that includes vga support, "v86" (demo / source). There's yet another open-source 386-style emulator in javascript called jslm32.

Xen - Open Source Virtualization

  •    c

The Xen hypervisor is a layer of software running directly on computer hardware replacing the operating system thereby allowing the computer hardware to run multiple guest operating systems concurrently. It suppors x86, x86-64, Itanium, Power PC, and ARM processors allow the Xen hypervisor to run on a wide variety of computing devices.

x86 and OS emulator for Linux

  •    C

Our x86 emulator allows you to run programs made for x86 computers on any other machine that uses linux. But this emulator does not just emulate the x86 computer, it also emulates the operating system, thus making things much faster.

kernel virtual machine

  •    C

KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.

VirtualBox - Cross-Platform Virtualization Application

  •    C

VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. VirtualBox runs on Windows, Linux, Macintosh, and Solaris hosts and supports a large number of guest operating systems. So, for example, you can run Windows and Linux on your Mac. VirtualBox is a so-called hosted hypervisor. It requires an existing operating system to be installed. It can thus run alongside existing applications on that host.

cemu - Cheap EMUlator: lightweight multi-architecture assembly playground

  •    Python

Writing assembly is fun. Assembly is the lowest language (humanly understandable) available to communicate with computers, and is crucial to understand the internal mechanisms of any machine. Unfortunately, setting up an environment to write, compile and run assembly for various architectures (x86, ARM, MIPS, SPARC) has always been painful. CEmu is an attempt to fix this by providing a bundled GUI application that empowers users to write assembly and test it by compiling it to bytecode and executing it in an QEMU-based emulator. CEmu combines all the advantages of a basic assembly IDE, compilation and execution environment, by relying on the great libraries Keystone, Unicorn and Capstone engines in a Qt powered GUI.


  •    CSharp

This is a C# version of the famous Bochs IA-32 (x86) PC emulator written in C++. I try to re-write the code using C# in a readable intuitive way. This is the only managed C# emulator for x86 CPUs.

haxm - Intel® Hardware Accelerated Execution Manager (Intel® HAXM)

  •    C

HAXM is a hardware-assisted virtualization engine (hypervisor) that uses Intel Virtualization Technology to speed up IA (x86/ x86_64) emulation on a host machine running Windows or macOS. It started as an Android SDK component, but has recently transformed itself into a general accelerator for QEMU. HAXM can be built as either a kernel-mode driver for Windows or a kernel extension for macOS.

minix86 - x86 (MS-DOS) documentation, disassembler and emulator - WIP

  •    HTML

A x86 documentation, disassembler and emulator (in pure JS) optimized for running (MS-DOS) .COM files.

Bochs x86 PC emulator

  •    C++

Bochs is a portable x86 PC emulation software package that emulates enough of the x86 CPU, related AT hardware, and BIOS to run Windows, Linux, *BSD, Minix, and other OS's, all on your workstation.

bap - Binary Analysis Platform

  •    OCaml

The Carnegie Mellon University Binary Analysis Platform (CMU BAP) is a reverse engineering and program analysis platform that works with binary code and doesn't require the source code. BAP supports multiple architectures: ARM, x86, x86-64, PowerPC, and MIPS. BAP disassembles and lifts binary code into the RISC-like BAP Instruction Language (BIL). Program analysis is performed using the BIL representation and is architecture independent in a sense that it will work equally well for all supported architectures. The platform comes with a set of tools, libraries, and plugins. The documentation and tutorial are also available. The main purpose of BAP is to provide a toolkit for implementing automated program analysis. BAP is written in OCaml and it is the preferred language to write analysis, we have bindings to C, Python and Rust. The Primus Framework also provide a Lisp-like DSL for writing program analysis tools. BAP is developed in CMU, Cylab and is sponsored by various grants from the United States Department of Defense, Siemens AG, and the Korea government, see sponsors for more information.

orbital - Experimental PlayStation 4 emulator

  •    C

Virtualization-based PlayStation 4 emulator. The current state of Orbital at booting decrypted kernels can be followed in the issue tracker: both PS4 4.55 and PS4 5.00 have been tested. You can also get ocasional updates and news via Twitter. Support this project at Patreon.

Plex86 - An x86 Virtual Machine

  •    C

Plex86 is an OSS virtual machine project for x86. It can be used on its own to run Linux VMs using lightweight VM technology, or in conjunction with the bochs emulator as an accelerator to run non VM-friendly OSes.


  •    C

SNEeSe is an emulator for the Nintendo SNES console for x86 PCs. SNEeSe is written in 32-bit C, C++, and NASM x86 assembly. Project goal is to make as accurate, functional, and usable an emulation core as is reasonably possible.

The Retargettable MCU Emulator

  •    C

A retargettable micro-controller and embedded system emulator architecture, providing common supports to emulate various types of micro-processors amp; devices on an x86 PC. Development of emulation for Arduino and various shields is just about to be launched in 2012.

kbd emulator

  •    C

kbde - keyboard emulator. It's allows emulate keyboard input for keyboardless (x86) computer.

Fast Portable Recyclable EMulator


ANSI C modular, and hopefully soon multi-threaded, x86-based PC emulator

Dioscuri - modular emulator

  •    Java

Dioscuri is an x86 computer hardware emulator written in Java. It is designed by the digital preservation community to make sure that documents and programs from the past can still be accessed in the future. Dioscuri is durable and component-based.

PearPC - PowerPC Emulator

  •    C

PearPC is an architecture independent PowerPC platform emulator capable of running most PowerPC operating systems. It includes a JITC for x86-Processors.