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

#51 in Emulators

Download history 63/week @ 2024-08-23 96/week @ 2024-08-30 53/week @ 2024-09-06 85/week @ 2024-09-13 407/week @ 2024-09-20 201/week @ 2024-09-27 148/week @ 2024-10-04 87/week @ 2024-10-11 79/week @ 2024-10-18 295/week @ 2024-10-25 169/week @ 2024-11-01 80/week @ 2024-11-08 68/week @ 2024-11-15 88/week @ 2024-11-22 170/week @ 2024-11-29 317/week @ 2024-12-06

659 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