Unicorn Versions Save

Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, S390x, TriCore, X86)

1.0.3

2 years ago
  • 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
      • Better support VS2008/VS2010
  • 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
    • Rust binding

1.0.2

3 years ago
  • Fix Java binding compilation
  • Enable building for ARM little-endian only (ignore big-endian)

1.0.2-rc6

3 years ago
  • Add uc_context_free() API
  • Fix context saving/retoring API (core & Python binding)

1.0.2-rc5

3 years ago
  • 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

1.0.2-rc4

3 years ago

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)
  • X86:
    • Support read/write STn registers
    • Support read/write X64 base regs
  • ARM64:
    • Support some new registers

1.0.2-rc3

4 years ago

Bugfixes since RC2

1.0.2-rc2

4 years ago

1.0.2-rc1

4 years ago

lots of bug fixes & improvement since v1.0.1

1.0.1

7 years ago

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().
  • 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.

1.0

7 years ago

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.
  • X86:
    • Fix 16bit address computation.
    • Fix initial state of segment registers.