Version 3.0
We are excited to announce version 3.0 of Capstone disassembly framework!
The source code is available in zip and tar.gz formats, or at tagname 3.0 in our Github repo.
Find pre-compiled binaries in the Download section.
Please test and feed back via our contact.
NOTE
-
Do use the bindings come with this version, as all the old bindings from previous version 3.0-rcX or 2.x are incompatible and cannot be run with the 3.0 core.
For Java/Ocaml/Python bindings, see the respective README files under bindings/ directory in the source on how to do fresh-reinstall.
Summary of the important changes since 2.1.2 (more detail):
- API
- New API cs_disasm_iter & cs_malloc (See online doc).
- Renamed API cs_disasm_ex to cs_disasm (cs_disasm_ex is still supported, but marked deprecated to be removed in future)
- Support SKIPDATA mode, so Capstone can jump over unknown data and keep going from the next legitimate instruction.
- API version was bumped to 3.0.
- Bindings support
- Python binding supports Python 3 (besides Python 2).
- Support Ocaml binding.
- Architectures
- New architectures: Sparc, SystemZ & XCore.
- Support new instructions & have important bugfixes for Arm, Arm64, Mips, PowerPC & X86.
-
Always expose absolute addresses rather than relative addresses (Arm, Arm64, Mips, PPC, Sparc, X86).
-
X86: more mature & handles all the malware tricks (that we are aware of).
-
ARM: Support new mode CS_MODE_V8 for Armv8 A32 encodings.
- Mips
- Supports new hardware modes: Mips32R6 (CS_MODE_MIPS32R6) & *MipsGP64 (CS_MODE_MIPSGP64).
- Removed the ABI-only mode CS_MODE_N64.
- New modes CS_MODE_MIPS32 & CS_MODE_MIPS64 (instead of CS_MODE_32 & CS_MODE_64).
-
Support Microsoft Visual Studio (so Windows native compilation using MSVC is possible).
-
Support CMake compilation.
-
Cross-compile for Android.
-
Build libraries/tests using XCode project
- Much faster, while consuming less memory for all architectures.