Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework. Highlight features. Multi-architectures: ARM, ARM64 (ARMv8), m68k, MIPS, PowerPC, RISC-V, S390x (SystemZ), SPARC, TriCore & x86 (include x86_64). Clean/simple/lightweight/intuitive architecture-neutral API. Implemented in pure C language, with bindings for Pharo, Crystal, Clojure, Visual Basic, Perl, Rust, Haskell, Ruby, Python, Java, Go, D, Lua, JavaScript, .NET, Delphi/Pascal & MSVC available. Native support for Windows & *nix (with macOS, Linux, Android, *BSD & Solaris confirmed). High performance by using the Just-In-Time compiler technique. Support fine-grained instrumentation at various levels. Thread-safe by design. Distributed under free software license GPLv2. Another significant change on this version is the addition of some new APIs to allow better control on how the core engine works.
Features
- Clean/simple/lightweight/intuitive architecture-neutral API
- Native support for Windows & *nix (with Mac OSX, Linux, Android, *BSD & Solaris confirmed)
- High performance via Just-In-Time compilation
- Support for fine-grained instrumentation at various levels
- Thread-safety by design
- Distributed under free software license GPLv2