Version 3.0.2

March 11, 2015

We are happy to announce the stable version 3.0.2 of Capstone disassembly framework!

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

Find pre-compiled binaries in the Download section.

Please test and feed back via our contact.

NOTE:

  • 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 this version.

  • Library

    • On *nix, only export symbols that are part of the API (instead of all the internal symbols).
  • X86

    • Do not consider 0xF2 as REPNE prefix if it is a part of instruction encoding.
    • Fix implicit registers read/written & instruction groups of some instructions.
    • More flexible on the order of prefixes, so better handle some tricky instructions.
    • REPNE prefix can go with STOS & MOVS instructions.
    • Fix a compilation bug for X86_REDUCE mode.
    • Fix operand size of instructions with operand PTR [].
  • Arm

    • Fix a bug where arm_op_mem.disp is wrongly calculated (in DETAIL mode).
    • Fix a bug on handling the If-Then block.
  • Mips

    • Sanity check for the input size for MIPS64 mode.
  • MSVC

    • Compile capstone.dll with static runtime MSVCR built in.
  • Python binding

    • Fix a compiling issue of Cython binding with gcc 4.9.