Unicorn

Latest version: v2.1.1

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

Scan your dependencies

Page 1 of 2

2.1.1

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

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

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

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

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

2.0.0

Unicorn2 first release candidate!

- Based on Qemu 5.0.1
- Remain backward compatible with Unicorn 1.x
- Update ISA of all existing architectures
- Support 2 new architectures in PowerPC & RISCV

----------------------------------
[Unicorn2-beta]: October 3rd, 2021

- Release Unicorn2 beta to public.
- New logo to celebrate this important milestone!

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

1.0.1

Not secure
- Properly handle selected-architecture build.
- Fix compilation issues on PPC & S390x.
- Fix a memory leak on uc_mem_protect().
- ARM:
- Support big-endian mode.
- Correct instruction size of Thumb/Thumb2 code.
- Support read/write APSR register.
- ARM64:
- Support read/write NEON registers.
- Support read/write NZCV registers.
- Mips: Support read/write Mips64 registers.
- X86: Support read/write MSR.
- Haskell binding: update to the latest API.
- Python: allow not having PATH setup.

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

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.