Unicorn

Latest version: v2.1.3

Safety actively analyzes 714772 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

2.1.3

2.1.3 includes a few fixes for distribution and stability issues. We urge users to update their versions as previous version contains security vulnerabilities.

Fix & Improvements

- Several security issues fixes. PhilippTakacs
- Add alpine workflow and fix several distribution issues. Antelox
- Introduce importlib_resources for py3.8 (EOL already) Arusekk Antelox
- Mips64 improvemtns. OBarronCS
- mips related fixes and implement a few registers.
- x86 default cpu model is changed to `UC_CPU_X86_HASWELL` and remove a few quirks.
- Fix CR4 implementation.
- Fix python bindings break changes by adding back `ctl_tlb_mode`. Antelox

New Contributors
* OBarronCS made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2111

Full Changelog: https://github.com/unicorn-engine/unicorn/compare/2.1.2...2.1.3

-------------------------------

2.1.2

Not secure
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
* droe made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2023
* Antelox made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2026
* tbodt made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2049
* hsa1as made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2060
* t0rr3sp3dr0 made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2066
* Sanae6 made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2069
* Michael-c0de made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2063
* Evian-Zhang made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2064
* glennsec made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2028
* clan made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2085
* xndcn made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2091
* Shivam7-1 made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2096
* amaanq made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2099

Full Changelog: https://github.com/unicorn-engine/unicorn/compare/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.

-------------------------------

2.1.1

Not secure
This is a small release to fix a few urgent issues.

- Remove pkg_resources usage
- Fix wheels distribution for x86_64 macos
- Fix redundant wheel hacks
- Support musllinux distribution

-------------------------------

2.1.0

Not secure
It has been a while since the last release, and 2.1.0 brings several exciting features. Below is the changelog from the latest to the oldest (though not strictly).

Highlights

- Revive QEMU logs, now we have `-DUNICORN_LOGGING=yes` to enable all qemu logs. BitMaskMixer
- Faster (up to 40x) write performance by not always doing `store_helper` and cleaning page locks. tunz boborjan2
- Brand new python bindings, with strongly typed and many improvements. elicn
- Fix to a long-standing MinGW random segfault bug.
- We bring python2 compatibility back.
- We now fully support M1, both building and a pre-built wheel.
- We support snapshot memory now, with a very low overhead copy-on-write fashion. PhilippTakacs
- An option to bypass MMU is also added, check our FAQ. PhilippTakacs
- A brand new (and modern) java bindings. We are also working to publish it to maven. nneonneo
- We have zig integrated. kassane atipls
- Now Unicorn no longer allocates 2GB memory for every instance. The memory will be only committed once used and the upper limit can be adjusted with `uc_ctl`.
- New DotNet binding, with published to both Github and Nuget. TSRBerry
- The release will attach all binaries, thanks to marameref

Fixes & Improvements

- RISCV improvements, but we still have a long way to go. apparentlymart ks0777
- cmake improvements scribam es3n1n
- Various python bindings fix and improvements bet4it rhelmot
- Docs. gerph BitMaskMixer
- Rust bindings. lockbox mlgiraud deadash
- TCG backend fixes. redoste StalkR dglynos
- PPC32 fixes. dotCirill
- Haiku fixes. kallisti5
- Improvements to avoid simulator detection. mrexodia

New Contributors

* ks0777 made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1736
* LG3696 made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1764
* PhilippTakacs made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1765
* edsky made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1754
* tunz made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1790
* kassane made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1809
* Xeonacid made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1807
* nneonneo made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1830
* lockbox made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1847
* mlgiraud made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1849
* basavesh made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1861
* hamarituc made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1886
* StalkR made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1907
* dotCirill made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1910
* marameref made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1897
* redoste made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1922
* xclusivor made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1929
* elicn made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1629
* nganhkhoa made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1942
* es3n1n made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1960
* BitMaskMixer made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1977
* apparentlymart made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1995
* atipls made their first contribution in https://github.com/unicorn-engine/unicorn/pull/1985
* omer54463 made their first contribution in https://github.com/unicorn-engine/unicorn/pull/2005

Full Changelog: https://github.com/unicorn-engine/unicorn/compare/2.0.1...2.1.0


Again, thanks for all contributors and sorry if I missed your name here (please tell me wtdcode !). 2.1.1 is also coming because we expect some minor break changes to fix.

-------------------------------

2.0.1.post1

Not secure
This is a small release to complement the previous 2.0.1 release.

Fix:

- Fix the endianness detection in tests.
- Fix the version number in CMakeLists.txt.

-------------------------------

2.0.1

Not secure
Unicorn2 makes the first step to [Debian packages](https://tracker.debian.org/pkg/unicorn-engine) and [vcpkg](https://github.com/microsoft/vcpkg/pull/26101)! Thanks roehling and LilyWangL !

Features:

- Support building & running on BE hosts. 1710
- Fix and support `clang-cl` on Windows. 1687
- Fix python `sdist` and add aarch64 Linux wheels. Note `pip` can build Unicorn2 on M1 now!
- C binding is refined and upgraded to .Net 6. 1723

Fix/Improvements:

- Various bindings improvements. 1723
- Improvements for tests. 1684 1683 1691 1711
- Fail explicitly when VEX.L is set. 1658
- Fix endianness when writing PPC32 CR register. 1659
- Fix a bug in `uc_ctl_set_cpu_model` check.
- Fix Tricore PC not updating. 1668
- Fix the mapping not updated if users modify the mappings in the hooks.
- Handle pathological cases consistently. 1651
- Fix memory leaks in PPC target. 1680
- Fix memory leaks in Tricore target. 1681
- Fix MSVC handling in cmake. 1693
- Fix PC sync-ing problems for `UC_HOOK_BLOCK` hooks.
- Fix PC sync-ed twice when users request a soft restart.
- Prevent overflow with pre-allocated RAM blocks. 1712
- Add FPCR and FPSR registers 1722
- Fix ARM CPU state not deep copied.
- Fix PC not sync-ed for memory operation on aarch64.
- Exit invalid store operations early to avoid the target registers being overwritten.
- Improve the support for ARM BE32.

Thanks:

roehling LilyWangL mrexodia zachriggle Yu3H0 rhelmot relapids sh4w1 TSRBerry

-------------------------------

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.