- 🛠 Fix Java binding compilation
- 🏗 Enable building for ARM little-endian only (ignore big-endian)
- Add uc_context_free() API
- 🛠 Fix context saving/retoring API (core & Python binding)
- ➕ Add cmake option to build Unicorn as a static library
- 🛠 Fix error handling of mmap()
- uc_emu_start() can be reentrant
- 🛠 Fix naming conflicts when built with systemd
- 🛠 Fix setjmp/longjmp on native Windows
- 🛠 Fix enabled hooks even after deleting them
- Fix 64bit fstenv
- Fix IP value of 16bit mode
- Fix APSR handling
- Python: Remove UC_ERR_TIMEOUT
🛠 This version fixes some issues and improves over v1.0.2-rc3.
- 🏗 No longer require Python to build
- Fix recursive UC_HOOK_MEM callbacks for cross pages access
- Remove UC_ERR_TIMEOUT, so timeout on uc_emu_start() is not considered error
- Added UC_QUERY_TIMEOUT to query exit reason
- 🛠 Fix UAF when deleting hook while in hook callback
- Ensure that hooks are unaffected by a request to stop emulation.
- 🛠 Fix block hooks being called twice after an early exit from execution.
- 🛠 Fix binding install on python2 (MacOS)
- Support read/write STn registers
- Support read/write X64 base regs
- Support some new registers
🛠 Bugfixes since RC2
v1.0.2-rc2February 15, 2020
v1.0.2-rc1October 08, 2019
🛠 Stable release with some important bugfixes & new features for several architectures.
- 🏗 Properly handle build with selected-architectures.
- 🛠 Fix compilation issues on PPC & S390x.
- Fix a memory leak on uc_mem_protect().
- Support big-endian mode.
- Correct instruction size of Thumb/Thumb2 code.
- Support read/write APSR register.
- 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.
Unicorn Engine v1.0.
Important changes since v1.0-RC3:
- 🛠 Fix build script for BSD host.
- 🛠 Fix building Unicorn on Arm/PPC/Sparc/S390 hosts.
- Fix 16bit address computation.
- Fix initial state of segment registers.
🚀 Release Candidate 3 of Unicorn Engine 1.0
Important changes since v1.0-RC2:
- Core: rename API uc_context_free() to uc_free().
- uc_reg_write() now can modify CPSR register.
- Add some ARM coproc registers.
- ARM64: uc_reg_read|write() now handles W0-W31 registers.
- 🏁 Windows: fix a double free bug in uc_close().
- 🆕 New VB6 binding.
- ⚡️ Java: update to support new APIs from v1.0-rc1.
- Fix memory leaking that prevents UC instances from being GC.
- Remove some dependencies leftover from glib time.
- Add new method mem_regions() (linked to uc_mem_regions() API)