Skip to content

Releases: capstone-engine/capstone

Version 5.0-rc1

27 Feb 15:11
5f20052
Compare
Choose a tag to compare
Version 5.0-rc1 Pre-release
Pre-release

New features:

Improvements:

  • Add fixups for aarch64 instructions (#1632 #1655)
  • Add fixups for x86 instructions (#1644 #1657 #1689 1751)
  • Add fixups for m68k instructions (#1663 #1709)
  • Add fixups for m680x instructions (#1695)
  • Add fixups for mips instructions (#1674)
  • Add fixups for mos65xx instructions (#1702)
  • Add fixups for systemz instructions (#1679)
  • Add fixups for risc-v instructions (#1682 #1690 #1691)
  • Add fixups for ppc instructions (#1687 #1688)
  • Add cmake config and export targets (#1637)
  • Fix issues in Makefiles (#1639)
  • Fix issues about cmake builds (#1649 #1659)
  • MSVC tooling updates (#1651)
  • Fix crash when using skipdata with NULL mnemonic(#1703)
  • Fix python only use ascii character (#1704)
  • Add support for aarch64 distributions (#1720)
  • Fix registry access for several versions of pop such as POPDS, POPSS, etc. (#1725)
  • Fix registry access on cmov instructions (#1727)
  • Fix -Wstringop-truncation warnings (#1730)
  • Fix always return the same type from regs_read (#1736)
  • Fix inconsistent behavior of Mips_option() (#1744)
  • Fix pythonic bug (#1745)
  • Fixes the (pip) Python Module build on FreeBSD (#1750)
  • Enable detection and build on all BSD systems (#1753)
  • Fix the displacement offset for moffset-encoded operands (#1754)
  • Update cmake_minimum_required to version 2.8.12 (#1756)
  • Fixed typos in compilation steps (#1762)
  • Fix build android (#1765)
  • Support disassembling bytes from memoryview (#1773)
  • Fixed library extension to build properly under CYGWIN (#1791)
  • Add Capstone Engine Documentation (#1794)
  • Fix eflags effects for adc/sbb (#1798)
  • Update x86 operand access information (#1801)
  • CI automatically build release tarball (#1802)
  • Dont format sstreams when there's nothing to format (#1805)
  • Fix warning about Unused variables (#1815)
  • Fix insn initialization when instruction have no operands or have a prefix (#1816)
  • Avoid abort() if x86 not supported (#1818)
  • Fix unterminated string regression (#1819)
  • Fixed incorrect operand access on x86 instruction vmovdqu (#1823)

Contributors:

Version 4.0.2

08 May 11:58
Compare
Choose a tag to compare

Release 4.0.2 is a stable release version, with bugfixes in the core & some bindings.

Core

  • Windows kernel-mode driver support
  • Fix installation path on FreeBSD and DragonFly

cstool

  • Add armv8, ppc32 & thumbv8 modes
  • Print instruction ID

X86

  • Support CS_OPT_UNSIGNED for ATT syntax
  • Fix operand size for some instructions
  • Fix LOCK prefixes
  • Recognize xacquire/xrelease prefix
  • Fix call/jmp access mode of mem operand
  • Add ENDBR32, ENDBR64 to reduce mode
  • Other minor fixes

ARM64

  • Support CS_OPT_UNSIGNED
  • Fix register access flags for memory instructions
  • Fix UMOV vess

ARM

  • Update writeback for STR_POST_REG

M68K

  • Store correct register value in op.reg_pair

PowerPC

  • BDZLA is absolute branch

SystemZ

  • Fix truncated 64bit imm operand
  • Fix base/index printing

Python

  • Fix skipdata struct being destroyed
  • Add repr for capstone.CsInsn

Java

  • Fix Java bindings to use pointers instead of longs

Ocaml

  • Fix x86_op record

Version 4.0.1

10 Jan 14:20
Compare
Choose a tag to compare

This release fixes some minor bugs of v4.0, as well as introduces some improvements for Python binding.

[ Core ]

  • Fix some issues for packaging (Debian, Gentoo).
  • Better support for building with Mingw.
  • cstool has new option -s to turn on skipdata mode.
  • cstool -v now report build settings of the core.
  • Add suite/capstone_get_setup.c so users can integrate with their own code
    to retrieve Capstone settings at build time.

[ Arm ]

  • Fix 4.0 regression: the tbh [r0, r1, lsl #1] instruction sets the operand.shift.value back again.
  • Remove ARM_REG_PC group for BX instruction.

[ X86 ]

  • Fix: endbr32 and endbr64 instructions are now properly decoded in both CS_MODE_32 and CS_MODE_64.

[ M680X ]

  • Fix some issues reported by clang-analyzer.

[ Python ]

  • Fix skipdata setup.
  • Add getter/setter for skipdata_mnem, skipdata_callback.

Version 4.0

18 Dec 17:02
Compare
Choose a tag to compare

[ Core ]

  • New APIs: cs_regs_access()
  • Add new options for cs_option(): CS_OPT_MNEMONIC & CS_OPT_UNSIGNED & CS_OPT_SYNTAX_MASM.
  • Various updates & bugfixes for all architectures.
  • Add 4 new architectures: EVM, M68K, M680X & TMS320C64x.
  • Add new group types: CS_GRP_PRIVILEGE & CS_GRP_BRANCH_RELATIVE.
  • Add new error types: CS_ERR_X86_MASM.

[ X86 ]

  • Add XOP code condition type in x86_xop_cc.
  • Add some info on encoding to cs_x86 in cs_x86_encoding.
  • Add register flags update in cs_x86.{eflags, fpu_flags}
  • Change cs_x86.disp type from int32_t to int64_t.
  • Add new groups: X86_GRP_VM & X86_GRP_FPU.
  • Lots of new instructions (AVX)

[ ARM64 ]

  • Add instruction ARM64_INS_NEGS & ARM64_INS_NGCS.

[ Mips ]

  • Add mode CS_MODE_MIPS2.

[ PPC ]

  • Change cs_ppc_op.imm type from int32_t to int64_t.
  • Add new groups: PPC_GRP_ICBT, PPC_GRP_P8ALTIVEC, PPC_GRP_P8VECTOR & PPC_GRP_QPX.
  • Lots of new instructions (QPX among them)

[ Sparc ]

  • Change cs_sparc_op.imm type from int32_t to int64_t.

[ Binding ]

  • New bindings: PowerShell & VB6

Version 3.0.5

18 Jul 16:21
Compare
Choose a tag to compare

[ Core ]

  • Fix the include path for Android builds when building cstool.
  • Add posibility to disable universal build for Mac OS.
  • cstool: Separate instruction bytes by spaces.
  • Fix code path of pkg-config in Cmake.
  • Update XCode project for XCode 9.1.
  • Add Cortex-M support to cstool.
  • Cmake forces to be build using MT with MSVC.
  • Better support for Mac OS kernel.

[ X86 ]

  • Fix some issues in handling EVEX & VEX3 instructions.
  • Fix immediate operand for AND instruction in ATT mode.
  • Fix ATT syntax when imm operand is 0.
  • Better handle XACQUIRE/XRELEASE.
  • Fix imm operand of RETF.

[ ARM ]

  • Fix an integer overlow bug.

[ ARM64 ]

  • Bug fix for incorrect operand type in certain load/store instructions.

[ Mips ]

  • Mode CS_MODE_MIPS32R6 automatically sets CS_MODE_32

[ PPC ]

  • Fix endian check.

[ Sparc ]

  • Fix an integer overlow bug.

[ SystemZ ]

  • Fix an integer overlow bug.

[ Python binding ]

  • Raise error on accessing irrelevant data fields if skipdata & detail modes are enable.

Version 3.0.5-rc3

31 Jul 13:20
Compare
Choose a tag to compare
Version 3.0.5-rc3 Pre-release
Pre-release

Changelog:

Core

  • Fix compilation for MacOS kernel extension
  • cstool to support armbe and arm64be modes
  • Add nmake.bat for Windows build
  • Fix an integer overflow for Windows kernel driver
  • Support to embedded Capstone into MacOS kernel
  • cstool: fix mips64 mode
  • Fix a compiling error in MS Visual Studio 2015
  • Install pkgconfig file with CMake build
  • Fix SOVERSION property of CMake build
  • Properly handle switching to Endian mode at run-time for Arm, Arm64, Mips & Sparc
  • Fix MingW build
  • Better handle CMake installation for Linux 64bit

X86

  • Support BND prefix of Intel MPX extension
  • Correct operand size for CALL/JMP in 64bit mode with prefix 0x66
  • LOCK NOP is a valid instruction
  • Fix ATT syntax for instruction with zero offset segment register
  • LES/LDS are invalid in 64bit mode
  • Fix number of operands for some MOV instructions

ARM

  • Fix POP reg to update SP register
  • Update flags for UADD8 instruction

ARM64

  • Better performance with new lookup table
  • Handle system registers added in ARMv8.1/2

Visual Basic binding

  • New binding

Version 4.0-alpha5

17 Apr 13:33
Compare
Choose a tag to compare
Version 4.0-alpha5 Pre-release
Pre-release

Fix many bugs, and add new architecture TMS320C64X.

Version 3.0.5-rc2

02 Mar 16:07
Compare
Choose a tag to compare
Version 3.0.5-rc2 Pre-release
Pre-release

Version 4.0-alpha4

08 Jan 01:40
Compare
Choose a tag to compare
Version 4.0-alpha4 Pre-release
Pre-release

4.0-alpha4 release with some important bug-fixes from 4.0-alpha3 version.

Version 4.0-alpha3

20 Jul 14:44
Compare
Choose a tag to compare
Version 4.0-alpha3 Pre-release
Pre-release

4.0-alpha3 release with some important security bug-fixes from 4.0-alpha2 version.