github unicorn-engine/unicorn 2.1.2
Version v2.1.2

latest releases: 2.1.4, v2.1.4, debian/2.1.3-1...
7 months ago

2.1.2 is a patch release to mainly resolve the stability issue of the 2.1.0 release series and fix a few distribution issues. All users of Unicorn are expected to upgrade.

Highlights

  • macOS arm64 no longer provides binary wheels due to a feature missing from Github Action runners.
  • py3.8 support is brought back, python2 wheels are built and test as well and we migrate to cibuildwheel! @Antelox
  • Several polish to python bindings and implement new API. @elicn @droe
  • Revert previous break changes that return UC_ERR_ARG for non-existing registers. Now this prints a warning. We urge all users relying on this behavior to fix code as soon as possible.
  • Fix several segment faults, including a few long-standing random segfault issues.
  • Revive previous unicorn 1 test suite and related refactoring. @elicn @Antelox
  • Optimize memory handling and notdirty writes for faster memory access and snapshots, especially useful for fuzzing. @PhilippTakacs
  • RISC-V API updates. @apparentlymart
  • fix UC_HOOK_MEM_READ on aarch64. @glennsec
  • Support UC_TCG_OP_FLAG_CMP for ARM @dotCirill
  • An alternative tag prefixed with "v" is added for golang compatibility.

Fix & Improvements

  • Implement UC_ARM64_REG_WSP
  • Several fixes on arm64 macos @tbodt
  • reg_read_batch and reg_write_batch @hsa1as
  • Fix pc sync issue for SPARC, MIPS, x86. This also fixes PC sync issue within UC_HOOK_BLOCK hooks.
  • Allow cmake to install files on Windows and allow cmake not to generate Unicorn 1 style all-in-one objects archive
  • Make i386 instructions RDTSC and RDTSCP hookable @t0rr3sp3dr0
  • Allow Statically Linking in Go @t0rr3sp3dr0
  • Rust bindings improvements @Sanae6
  • Patch multiple UC_HOOK_MEM callbacks for unaligned access @Michael-c0de
  • Fix UC_MEM_FETCH_PROT for data read
  • Remove more Unicorn 1 hacks to improve performance.
  • Docs & unit test updates. @saicao
  • Allow uc_ctl_set_page_size() for arm64 @droe
  • Musl builds @clan
  • mips16 fix @ZakDanger
  • Fix UC_HOOK_MEM on arm32 @xndcn
  • Fix heap buffer overflow in op_cksm function @Shivam7-1

New Contributors

Full Changelog: 2.1.1...2.1.2

As usual, thanks to all contributors and sorry if I missed your name here (please tell me @wtdcode !).

Lastly and personally, I would like to express my big thanks to @Antelox @elicn and @PhilippTakacs for spending lots of time improving Unicorn Engine. Also, there are a few big pull requests adding new architectures (RH850, TCI, LoongArch64, AVR) and I will actively push them to 2.2.0.

Don't miss a new unicorn release

NewReleases is sending notifications on new releases.