Go to file
Robert Xiao dfdc8e7e8e Switch to Maven to build the Java bits.
Maven is now used to update the constants, build the Java code, call make to
build the native library, and run all the tests. I have removed the "install"
and "uninstall" targets; instead, the expectation will be that the JNI library
will be placed somewhere on java.library.path and the JAR file will be used as
usual (e.g. in a downstream Maven project, or placed on the classpath of your
project).

Since Maven is now running our tests, this eliminates the need to bundle test
dependencies in `testdep`, and makes the project structured more like a typical
Java project.
2023-06-29 16:08:18 -07:00
.github/workflows Add apt update 2023-05-23 13:18:57 -07:00
bindings Switch to Maven to build the Java bits. 2023-06-29 16:08:18 -07:00
docs Update FAQ 2023-03-28 21:16:19 +08:00
glib_compat build: Fixes for Haiku 2023-03-22 13:58:10 -05:00
include Fix definition of uc_version 2023-06-17 14:19:10 -07:00
msvc Reformat code with format.sh 2023-06-16 15:23:41 -07:00
qemu Return new UC_ERR_OVERFLOW instead of UC_ERR_NOMEM when reg buffer is too small 2023-06-16 15:30:59 -07:00
samples Add a link to the relevant issue for ARM PAC handling 2023-06-17 14:22:56 -07:00
tests Fix RISCV test_riscv32_fp_move test 2023-06-16 15:23:43 -07:00
.clang-format Add clang-format and format code to qemu code style 2021-10-29 12:44:49 +02:00
.gitignore Switch to Maven to build the Java bits. 2023-06-29 16:08:18 -07:00
.gitmodules Change git url to https url to avoid git submodule clone error 2022-01-18 21:09:01 +01:00
AUTHORS.TXT import 2015-08-21 15:04:50 +08:00
bundle_static.cmake Merge remote-tracking branch 'origin/dev' into mrexodia-msvc-find-lib 2022-05-03 00:08:47 +02:00
Cargo.toml Merge branch 'dev' into zig-bindgen 2023-03-23 16:17:55 -03:00
ChangeLog Update ChangeLog 2022-11-22 21:55:02 +01:00
CMakeLists.txt add virtuall tlb 2023-03-28 13:50:11 +02: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
COPYING.LGPL2 LGPL2 for all header files under include/unicorn/ 2017-12-16 10:08:42 +08:00
CREDITS.TXT Merge branch 'dev' into patch 2021-10-17 18:18:09 +08:00
format.sh Format unicorn_arm and unicorn_aarch64 2021-11-01 10:17:58 +01:00
go.mod add rpath and go.mod 2021-11-07 20:24:50 +01:00
list.c Fix possible leak in hooks 2022-02-12 16:28:43 +01:00
mingw-w64.cmake import Unicorn2 2021-10-03 22:14:44 +08:00
README.md new binding 2023-03-23 16:15:33 -03:00
SECURITY.md Update SECURITY.md 2022-10-31 12:35:37 +08:00
symbols.sh Simplify reg_read/reg_write, obtaining a perf boost. 2023-06-16 15:23:42 -07:00
TODO Update TODO 2021-10-06 12:52:52 +02:00
uc.c Return new UC_ERR_OVERFLOW instead of UC_ERR_NOMEM when reg buffer is too small 2023-06-16 15:30:59 -07:00

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.

CREDITS.TXT records important contributors of our project.