Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, X86)
Go to file
Neal Gompa (ニール・ゴンパ) fc72622ba8 Makefile: Allow for overriding job threads for making 'qemu' dir (#762)
Providing a default level of parallelism is perfectly fine, but it
should also be possible to set higher or lower levels of parallelism
easily. This is particularly beneficial for people packaging the
software for Linux distributions.
2017-02-24 21:49:29 +08:00
bindings x86: add MSR API via reg API (#755) 2017-02-24 21:37:19 +08:00
docs update Windows DLL dependency 2017-01-22 00:39:21 +08:00
include x86: add MSR API via reg API (#755) 2017-02-24 21:37:19 +08:00
qemu x86: add MSR API via reg API (#755) 2017-02-24 21:37:19 +08:00
samples rename API uc_mem_free() to uc_free(). see #662 2017-01-10 20:59:14 +08:00
tests Added ARM coproc registers (#684) 2017-01-25 11:56:19 +08:00
.appveyor.yml CI: remove glib from Travis & Appveyor setup 2016-12-20 13:18:39 +08:00
.gitignore Windows: export a static lib that can be used outside of mingw (#699) 2016-12-27 16:30:07 +08:00
.travis.yml cleanup travis by removing universal builds (#702) 2016-12-30 00:09:08 +08:00
AUTHORS.TXT import 2015-08-21 15:04:50 +08:00
ChangeLog fix ChangeLog 2017-02-23 20:50:36 +08:00
config.mk Fix document file extension 2016-08-08 17:33:49 +09:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING_GLIB glib_compat: add COPYING_GLIB 2016-12-27 10:15:08 +08:00
CREDITS.TXT update CREDITS.TXT 2017-01-16 09:43:11 +08:00
install-cmocka-linux.sh regress: link on Linux with -lrt 2016-12-26 14:16:56 +08:00
list.c fix memory corruption in list_remove 2016-03-25 20:28:23 -07:00
make.sh Fixed build script for *BSD (#743) 2017-01-29 08:12:38 +08:00
Makefile Makefile: Allow for overriding job threads for making 'qemu' dir (#762) 2017-02-24 21:49:29 +08:00
pkgconfig.mk prepare for v1.0 2017-02-23 20:17:02 +08:00
README.md add VB6 to README 2017-01-18 01:16:44 +08:00
uc.c x86: add MSR API via reg API (#755) 2017-02-24 21:37:19 +08:00
windows_export.bat Make the call out to visual studio extremely resilient 2017-01-02 03:32:48 -08: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 Visual Basic, Perl, 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.