Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, X86)
Go to file
steve fc22a359e2 Issue #364 - Move RIP/PC closer next to the offending self-modifying code
which modified the 2nd next instruction (imul) in which that escaped
our wonderful ability to invalidate the
instruction translation cache in which we badly need to pick up the
self-modification being made.
2016-01-30 19:30:17 -05:00
bindings Solution refactoring and bug fixing 2016-01-04 16:59:05 +01:00
docs rename docs/README to docs/README.md 2016-01-12 09:43:40 +08:00
include consistent style for docs of unicorn.h 2016-01-16 18:31:24 +08:00
qemu remove qemu/config-all-disas.mak 2016-01-22 17:11:57 +08:00
samples samples: LDFLAGS += -lpthread. this fixes issue 382 2016-01-19 09:11:25 +08:00
tests Issue #364 - Move RIP/PC closer next to the offending self-modifying code 2016-01-30 19:30:17 -05:00
.gitignore java: add .class & .jar files to .gitignore 2016-01-12 01:03:44 +08:00
AUTHORS.TXT import 2015-08-21 15:04:50 +08:00
ChangeLog add ChangeLog 2015-10-15 23:54:39 +08:00
COMPILE.TXT 80 columns 2016-01-01 14:14:03 +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 2015-12-29 01:35:02 +08:00
hook.c fix #337 2015-12-23 00:19:34 +01:00
LEAK_VALGRIND import 2015-08-21 15:04:50 +08:00
make.sh Fixing compile on windows with mingw 2015-08-29 17:04:48 +02:00
Makefile compile with -j4 option to reduce memory usage (issue #209) 2016-01-19 13:34:08 +08:00
pkgconfig.mk Remove trailing whitespace. 2015-10-30 22:34:35 +01:00
README.md fix link to Github issues in README.md 2016-01-12 09:53:01 +08:00
uc.c properly verify ARM mode in uc_open(). see issue #389 2016-01-22 20:46:26 +08:00

Unicorn Engine

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 Python, Java, and Go
  • 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 COMPILE.TXT 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.