Version 3.0.3

May 8, 2015

We are excited to announce the stable version 3.0.3 of Capstone disassembly framework!

This release is dedicated to Prof. Yoshiyasu Takefuji, who is turning 60 years old this year 2015!

The source code is available in zip and tar.gz formats, or at tagname 3.0.3 in our Github repo.

Find pre-compiled binaries in the Download section.

For any issues, please feed back via our contact.

NOTE

  • Do use the Python bindings come with this version, as we fixed some issues of version 3.0.2.

See file bindings/python/README in the source on how to do fresh-install.

  • Our Python package capstone on PyPi can build & install the core at the time of installing Python module, so the external dependency on the core is eliminated.

Windows users can either instal Python binding of Capstone from Windows installer, or using our PyPi package capstone-windows. Note that this already includes the prebuilt libraries (for both Win32 & Win64 editions) inside, so there is no need to install the core separately.

See bindings/python/README.TXT for more information on these PyPi modules.


Summary of the important changes of version 3.0.3.

Library

  • Released binaries for Windows are now compatible with Windows XP.
  • Support to embed into Mac OS X kernel extensions.
  • Now it is possible to compile Capstone with older C compilers, such as GCC 4.8 on Ubuntu 12.04.
  • Add test_iter to MSVC project.

X86

  • All shifted instructions (SHL, SHR, SAL, SAR, RCL, RCR, ROL & ROR) now support $1 as first operand in AT&T syntax (so we have rcll $1, %edx instead of rcll %edx).
  • CMPXCHG16B is a valid instruction with LOCK prefix.
  • Fixed a segfault on the input of 0xF3.

Arm

  • BLX instruction modifies PC & LR registers.

Sparc

  • Improved displacement decoding for sparc banching instructions.

Python binding

  • Fix for Cython so it can properly initialize.
  • X86Op.avxzeromask now has c_bool type, but not c_uint8 type.
  • Properly support compile with Cygwin & install binding (setup.py).