Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, X86)
Go to file
samothtronicien 6c3eecb2a3 added unit test for x86
This test highlight the issue with the SHL instruction in the form (SHL r, CL), the flags values retrieved in the code hook are not correct.
2016-07-30 04:18:12 +02:00
bindings Go bindings: fix concurrent hook updates 2016-07-27 05:16:12 -07:00
docs docs: note on glib universal format for MacOS 2016-07-15 16:46:09 +08:00
include Rename unhandled CPU exception 2016-07-05 11:10:39 -05:00
qemu mips: remove an unused variable 2016-07-15 15:12:15 +08:00
samples samples: more flexible .gitignore 2016-06-16 09:23:00 +08:00
tests added unit test for x86 2016-07-30 04:18:12 +02:00
.appveyor.yml appveyor: build for both 32bit & 64bit 2016-07-14 11:20:15 +08:00
.gitignore cleanup .gitignore 2016-06-16 09:29:16 +08:00
.travis.yml travis: do not need to install pkg-config 2016-03-03 23:41:03 +08:00
AUTHORS.TXT import 2015-08-21 15:04:50 +08:00
ChangeLog add ChangeLog 2015-10-15 23:54:39 +08:00
config.mk import 2015-08-21 15:04:50 +08:00
COPYING import 2015-08-21 15:04:50 +08:00
CREDITS.TXT update CREDITS.TXT 2016-04-19 09:42:48 +08:00
LEAK_VALGRIND import 2015-08-21 15:04:50 +08:00
list.c fix memory corruption in list_remove 2016-03-25 20:28:23 -07:00
make.sh make.sh: add new option 'macos-universal' to build MacOS universal binaries 2016-07-15 16:34:16 +08:00
Makefile make.sh: add new option 'macos-universal' to build MacOS universal binaries 2016-07-15 16:34:16 +08:00
pkgconfig.mk bump API version to 1.0 2016-02-11 08:05:15 +08:00
README.md docs: move COMPILE.TXT to docs/, and split it into separate files for *nix & Windows 2016-04-30 09:49:00 +08:00
uc.c windows: Remove unnecessary mman inclusion (issue #587) 2016-07-11 13:35:49 -05:00

Unicorn Engine

Join the chat at https://gitter.im/unicorn-engine/chat

Build Status Build 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, SPARC, and X86 (16, 32, 64-bit)
  • Clean/simple/lightweight/intuitive architecture-neutral API
  • Implemented in pure C language, with bindings for Rust, Ruby, Python, Java, MSVC, .NET, Go, Delphi/Free Pascal and Haskell.
  • Native support for Windows & *nix (with Mac OSX, Linux, *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 a TODO list.

CREDITS.TXT records important contributors of our project.