Unicorn Engine VS box86

Compare Unicorn Engine vs box86 and see what are their differences.

Unicorn Engine

Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, S390x, TriCore, X86) (by unicorn-engine)

box86

Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices (by ptitSeb)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Mergify - Updating dependencies is time-consuming.
Unicorn Engine box86
13 109
6,647 2,778
2.2% -
6.8 0.0
26 days ago 10 days ago
C C
GNU General Public License v3.0 only MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Unicorn Engine

Posts with mentions or reviews of Unicorn Engine. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-10.
  • Show HN: Tetris, but the blocks are ARM instructions that execute in the browser
    3 projects | news.ycombinator.com | 10 Aug 2023
    OFRAK Tetris is a project I started at work about two weeks ago. It's a web-based game that works on desktop and mobile. I made it for my company to bring to events like DEF CON, and to promote our binary analysis and patching framework called OFRAK.

    In the game, 32-bit, little-endian ARM assembly instructions fall, and you can modify the operands before executing them on a CPU emulator. There are two segments mapped – one for instructions, and one for data (though both have read, write, and execute permissions). Your score is a four byte signed integer stored at the virtual address pointed to by the R12 register, and the goal is to use the instructions that fall to make the score value in memory as high as possible. When it's game over, you can download your game as an ELF to relive the glory in GDB on your favorite ARM device.

    The CPU emulator is a version of Unicorn (https://www.unicorn-engine.org/) that has been cross-compiled to WebAssembly (https://alexaltea.github.io/unicorn.js/), so everything on the page runs in the browser without the need for any complicated infrastructure on the back end.

    Since I've only been working on this for a short period of time leading up to its debut at DEF CON, there are still many more features I'd eventually like to implement. These include adding support for other ISAs besides ARM, adding an instruction reference manual, and lots of little cleanups, bug fixes, and adjustments.

    My highest score is 509,644,979, but my average is about 131,378.

    I look forward to feedback, bug reports, feature requests, and strategy discussions!

  • It Takes 6 Days to Change 1 Line of Code
    2 projects | news.ycombinator.com | 16 Jul 2023
    Entails hundreds of hours of single-stepping through that opcode in Linux kernel using an indirect operand pointing toward its own opcode (self-modifying code).

    Even the extraordinaire Fabrice Bellard (author of QEMU) admitted that it is broke and did a total rewrite, which fixed tons of other issues.

    https://github.com/unicorn-engine/unicorn/issues/364

  • QEMU Version 7.0.0 Released
    5 projects | news.ycombinator.com | 20 Apr 2022
    This is how I found out a snippet of assembly code that can actually distinguished between a KVM hypervisor and most of today’s emulator.

    https://github.com/unicorn-engine/unicorn/issues/364

  • Can you make a MacOS Server on the Raspberry Pi for iMessage bridging server?
    4 projects | /r/helpdesk | 3 Jun 2021
    Actually, that gives me an idea. Unicorn Engine (https://github.com/unicorn-engine/unicorn) is FOSS and claims to be able to emulate many CPU architectures like x86. Do you think it could be possible to just run a regular Hackintosh setup through Unicorn Engine‘s x86 emulator? Definitely it would be very slow, and there is chance that it will just not work, but that would make the process fairly easy as Hackintosh setup is pretty well documented. Though I have to admit that I only just found Unicorn Engine and I can find almost no documentation for it other than on their github. I would be a bit skeptical of unicorn engine, but do you think that this could be possible?
  • TIL That Flatpak apps can emulate non-native apps like Apple Rosetta. (TL;DR on bottom)
    5 projects | /r/linux | 7 May 2021
    https://www.unicorn-engine.org/ for example.

box86

Posts with mentions or reviews of box86. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-12.
  • Xbox360 –> Windows Executable Converter
    3 projects | news.ycombinator.com | 12 Jul 2023
  • The what?
    2 projects | /r/celestegame | 11 Jun 2023
    Maybe Box86/64? https://box86.org/
  • Steam not available ?
    2 projects | /r/dietpi | 29 Apr 2023
    That means it'll need a 32-bit emulator to run on, but as it says on box86.org, box86 only runs on 32-bit ARM chips. Hence it runs on a Pi2 but not a Pi3 or higher.
  • Factorio on Arm: A Benchmark
    2 projects | /r/factorio | 23 Apr 2023
    Recently, I got a server from Oracle Cloud, having 4 cores and 24GB of RAM. Then, using a software called Box86 and its 64 bit version called Box64, I succeeded in running Factorio! Unfortunately, 1.1.80 ran at 3 UPS! I went through each major version, testing each individual one down to 0.12. Here are my results!
  • How to emulate on M1 mac?
    2 projects | /r/LineageOS | 14 Apr 2023
    You could try https://github.com/ptitSeb/box86 and https://github.com/ptitSeb/box64/ , I believe they allow you to emulate x86_64 on aarch64, though I have no experience with them, so cannot say for sure.
  • currently trying to get tf2 to work, but steam removed 32 bit support (wanted to use box86) with their html login thing, so i just have this system laying around collecting dust lmao
    4 projects | /r/linux | 12 Apr 2023
    Box86 and Box64 are emulators that can be used to run traditional x86 apps in ARM.
    4 projects | /r/linux | 12 Apr 2023
    But even them I got it to work on my raspberry pi 4b AFTER the chrome bs, I dont remember how Probabily by using the installer script for steam in the box86 repo https://github.com/ptitSeb/box86
  • How to run Linux games on ARM64
    4 projects | /r/linux4noobs | 7 Apr 2023
    If you have time and patience take a look at box86 and box64. These are basically like translation layers that allow x86/x86_64 applications to run on ARM. I personally haven't use them yet, so I can't provide a guide or vouch for game compatibilities. But by the look of the progress made by them so far it looks promising.
  • Can someone explain how this script bypasses CPU architecture incompatibility?
    5 projects | /r/linux4noobs | 28 Mar 2023
    This analogy falls apart quickly and really isn't great like trimming sandwiches might be like using box64 and box86 and you would be using a bread machine (compiler) to make another bread machine (another/newer compiler). You need to read up on what a compiler to a specific CPU instruction set does to see why a binary made for one can't just run on another without translation or taking the source code and making a binary (what your sample script does) that runs on that CPU arch.
  • ARM raising prices dramatically??
    2 projects | /r/arm | 24 Mar 2023
    Actual impact is not sure, but I can speculate. Short term customers pay more for ARM. Long term RISC-V products just got relatively cheaper for high end and might see a BoARM to go along with Box86 and Box64 so compiled programs on android (Dalvik byte code programs wont need it) will 'just work'. I wonder if this had anything to do with Google making RISC-V Android version a thing. As long as a big percentage of the device cost is the CPU it should still be competitive.

What are some alternatives?

When comparing Unicorn Engine and box86 you can also consider the following projects:

FEX - A fast usermode x86 and x86-64 emulator for Arm64 Linux

box64 - Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices

limbo - Limbo is a QEMU-based emulator for Android. It currently supports x86, ARM, PowerPC, and Sparc emulation for Intel x86 and ARM android devices. See wiki https://virtualmachinery.weebly.com for APK download and Instructions.

QEMU - Official QEMU mirror. Please see https://www.qemu.org/contribute/ for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website.

cadmium - [Moved to: https://github.com/Maccraft123/Cadmium]

MicroPython - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

capstone - Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. [Moved to: https://github.com/capstone-engine/capstone]

Reverse-Engineering-Tutorial - A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit ARM & 64-bit ARM architectures.

box86-compatibility-list - Box86 Compatibility List (Games and Software)

osu - rhythm is just a *click* away!

hangover - Hangover runs simple Win32 applications on arm64 Linux

TinyVM - TinyVM is a small, fast, lightweight virtual machine written in pure ANSI C.