10 releases (4 stable)

2.1.1 Sep 26, 2024
2.1.0 Sep 21, 2024
2.0.1 Nov 1, 2022
2.0.0 Jul 7, 2022
2.0.0-rc3 Oct 17, 2021

#46 in Emulators

Download history 77/week @ 2024-07-22 62/week @ 2024-07-29 52/week @ 2024-08-05 84/week @ 2024-08-12 73/week @ 2024-08-19 108/week @ 2024-08-26 56/week @ 2024-09-02 55/week @ 2024-09-09 260/week @ 2024-09-16 295/week @ 2024-09-23 176/week @ 2024-09-30 111/week @ 2024-10-07 82/week @ 2024-10-14 74/week @ 2024-10-21 339/week @ 2024-10-28 124/week @ 2024-11-04

623 downloads per month
Used in 4 crates

GPL-2.0 license

13MB
297K SLoC

C 286K SLoC // 0.1% comments Shell 6.5K SLoC // 0.0% comments Rust 4K SLoC // 0.0% comments Python 269 SLoC // 0.1% comments Zig 175 SLoC // 0.2% comments C++ 16 SLoC Assembly 9 SLoC // 0.5% comments

Unicorn Engine

pypi downloads Fuzzing Status

Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator framework, based on QEMU.

Unicorn offers some unparalleled features:

  • Multi-architecture: ARM, ARM64 (ARMv8), M68K, MIPS, PowerPC, RISCV, SPARC, S390X, TriCore and X86 (16, 32, 64-bit)
  • Clean/simple/lightweight/intuitive architecture-neutral API
  • Implemented in pure C language, with bindings for Crystal, Clojure, Visual Basic, Perl, Rust, Ruby, Python, Java, .NET, Go, Delphi/Free Pascal, Haskell, Pharo, Lua and Zig.
  • 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

Further information is available at http://www.unicorn-engine.org

License

This project is released under the GPL license.

Compilation & Docs

See docs/COMPILE.md file for how to compile and install Unicorn.

More documentation is available in docs/README.md.

Contact

Contact us via mailing list, email or twitter for any questions.

Contribute

If you want to contribute, please pick up something from our Github issues.

We also maintain a list of more challenged problems in milestones for our regular release.

Please send pull request to our dev branch.

CREDITS.TXT records important contributors of our project.

Dependencies