2015-10-15 18:54:39 +03:00
|
|
|
This file details the changelog of Unicorn Engine.
|
|
|
|
|
2021-05-14 13:36:54 +03:00
|
|
|
-------------------------------
|
|
|
|
[Version 1.0.3]: May xxxx, 2021
|
|
|
|
|
|
|
|
- Fix some building issues
|
|
|
|
- Fix build with LLVM on Powerpc64(le)
|
|
|
|
- cmake: enable UNICORN_HAS_ARMEB when ARM is on
|
|
|
|
- Better support MingW building
|
|
|
|
- Better support FreeBSD host
|
|
|
|
|
|
|
|
- Fix some issues in the core:
|
|
|
|
- Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT]
|
|
|
|
- Support querying architecture mode besides arm
|
|
|
|
- Fix pausing within Thumb2 ITE blocks
|
|
|
|
|
|
|
|
- Arm:
|
|
|
|
- Support Arm BE8 mode
|
|
|
|
|
|
|
|
- X86:
|
|
|
|
- Fix FPIP & FTST instructions
|
|
|
|
|
|
|
|
- Bindings:
|
|
|
|
- Java: remove deprecated javah and build with javac
|
|
|
|
- Python: handle exceptions raised in hook functions
|
|
|
|
|
2020-10-20 17:13:43 +03:00
|
|
|
-----------------------------------
|
|
|
|
[Version 1.0.2]: October 21st, 2020
|
|
|
|
|
|
|
|
- Fix Java binding compilation
|
|
|
|
- Enable building for ARM little-endian only (ignore big-endian)
|
|
|
|
|
2020-09-21 21:11:43 +03:00
|
|
|
------------------------------------
|
2020-09-24 17:55:14 +03:00
|
|
|
[Version 1.0.2-rc6]: Sept 24th, 2020
|
|
|
|
|
|
|
|
- Add uc_context_free() API
|
|
|
|
- Fix context saving/retoring API (core & Python binding)
|
|
|
|
|
|
|
|
------------------------------------
|
|
|
|
[Version 1.0.2-rc5]: Sept 22nd, 2020
|
2020-09-21 21:11:43 +03:00
|
|
|
|
|
|
|
- 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
|
|
|
|
- X86:
|
|
|
|
- Fix 64bit fstenv
|
|
|
|
- Fix IP value of 16bit mode
|
|
|
|
- ARM:
|
|
|
|
- Fix APSR handling
|
|
|
|
- Python: Remove UC_ERR_TIMEOUT
|
|
|
|
|
2020-05-28 20:20:12 +03:00
|
|
|
-----------------------------------
|
2020-05-28 20:02:46 +03:00
|
|
|
[Version 1.0.2-rc4]: May 29th, 2020
|
|
|
|
|
|
|
|
- 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.
|
2020-05-28 20:20:12 +03:00
|
|
|
- Fix binding install on python2 (MacOS)
|
2020-05-28 20:02:46 +03:00
|
|
|
- X86:
|
|
|
|
- Support read/write STn registers
|
|
|
|
- Support read/write X64 base regs
|
|
|
|
- ARM64:
|
|
|
|
- Support some new registers
|
|
|
|
|
2017-04-18 18:29:51 +03:00
|
|
|
----------------------------------
|
2017-04-20 08:28:02 +03:00
|
|
|
[Version 1.0.1]: April 20th, 2017
|
2017-04-18 18:29:51 +03:00
|
|
|
|
|
|
|
- Properly handle selected-architecture build.
|
|
|
|
- Fix compilation issues on PPC & S390x.
|
|
|
|
- Fix a memory leak on uc_mem_protect().
|
|
|
|
- ARM:
|
2017-04-20 08:28:02 +03:00
|
|
|
- Support big-endian mode.
|
2017-04-18 18:29:51 +03:00
|
|
|
- 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.
|
|
|
|
|
2017-02-23 15:17:02 +03:00
|
|
|
----------------------------------
|
2017-02-23 15:50:36 +03:00
|
|
|
[Version 1.0]: February 23rd, 2017
|
2017-02-23 15:17:02 +03:00
|
|
|
|
|
|
|
- Fix build script for BSD host.
|
|
|
|
- Fix building Unicorn on Arm/PPC/Sparc/S390 hosts.
|
|
|
|
- X86:
|
|
|
|
- Fix 16bit address computation.
|
2017-02-23 15:50:36 +03:00
|
|
|
- Fix initial state of segment registers.
|
2017-02-23 15:17:02 +03:00
|
|
|
|
2017-01-04 15:07:50 +03:00
|
|
|
----------------------------------
|
2017-01-25 07:03:09 +03:00
|
|
|
[Version 1.0-rc3]: January 25th, 2017
|
2017-01-25 07:00:18 +03:00
|
|
|
|
|
|
|
- Rename API uc_context_free() to uc_free().
|
|
|
|
- ARM:
|
|
|
|
- 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.
|
|
|
|
- Python:
|
|
|
|
- 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)
|
|
|
|
|
|
|
|
----------------------------------
|
|
|
|
[Version 1.0-rc2]: January 4th, 2017
|
2017-01-04 15:07:50 +03:00
|
|
|
|
|
|
|
- Remove glib & pkconfig dependency.
|
|
|
|
- Python: fix an issue to restore support for FreeBSD (and other *BSD Unix).
|
|
|
|
- ARM: support MCLASS cpu (Cortex-M3).
|
|
|
|
- Windows: export a static lib that can be used outside of Mingw
|
|
|
|
|
2016-12-22 17:13:13 +03:00
|
|
|
----------------------------------
|
|
|
|
[Version 1.0-rc1]: December 22nd, 2016
|
|
|
|
|
|
|
|
- Lots of bugfixes in all architectures.
|
|
|
|
- Better support for ARM Thumb.
|
|
|
|
- Fix many memory leaking issues.
|
|
|
|
- New bindings: Haskell, MSVC.
|
|
|
|
- Better support for Python3.
|
|
|
|
- New APIs: uc_query, uc_reg_write_batch, uc_reg_read_batch, uc_mem_map_ptr, uc_mem_regions, uc_context_alloc, uc_context_save & uc_context_restore.
|
|
|
|
- New memory hook type: UC_HOOK_MEM_READ_AFTER.
|
|
|
|
- Add new version macros UC_VERSION_{MAJOR, MINOR, EXTRA}
|
|
|
|
|
2015-10-15 18:54:39 +03:00
|
|
|
----------------------------------
|
|
|
|
[Version 0.9]: October 15th, 2015
|
|
|
|
|
|
|
|
- Initial public release.
|
|
|
|
|