Capstone disassembly/disassembler framework for ARM, ARM64 (ARMv8), Alpha, BPF, Ethereum VM, HPPA, LoongArch, M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86.
Go to file
2014-01-08 22:55:06 +08:00
arch x86: cleanup unused stuff 2014-01-08 14:53:09 +08:00
bindings python: proper support for cython 2014-01-08 22:55:06 +08:00
include correct comments on CS_OPT_ON/OFF regarding default detail option 2014-01-07 23:50:02 +08:00
suite suite: add test_ppc and some other minor changes 2014-01-08 10:36:59 +08:00
tests switch detail to be CS_OPT_OFF by default 2014-01-07 23:36:26 +08:00
.gitignore ppc: support details information 2014-01-05 00:00:05 +08:00
COMPILE minor fix to mention *BSD rather than *nix 2013-12-25 10:49:59 +08:00
compile.sh suite: add test_ppc and some other minor changes 2014-01-08 10:36:59 +08:00
CONFIG bump package version to 2.0 2014-01-06 12:50:55 +08:00
config.mk enable system's my_malloc/calloc/realloc/free via compile time option 2014-01-05 23:41:31 +08:00
CREDITS.TXT CREDITS.TXT 2013-12-05 10:08:03 +08:00
cs_priv.h move insn_cache into cs_struct to gurantee thread-safe 2014-01-06 10:56:59 +08:00
cs.c switch detail to be CS_OPT_OFF by default 2014-01-07 23:36:26 +08:00
HACK HACK: add arch/PowerPC and cleanup 2014-01-07 11:46:21 +08:00
LEB128.h initial import 2013-11-27 12:11:31 +08:00
LICENSE_LLVM.TXT initial import 2013-11-27 12:11:31 +08:00
LICENSE.TXT put website address into the license file 2013-12-17 22:13:09 +08:00
Makefile remove the left-over csharp related stuff from Makefile 2014-01-07 14:52:20 +08:00
MathExtras.h initial import 2013-11-27 12:11:31 +08:00
MCDisassembler.h rename some C header guards to be without _ as prefix to follow naming convention of C language. suggested by Markus Elfring 2014-01-02 13:15:07 +08:00
MCFixedLenDisassembler.h initial import 2013-11-27 12:11:31 +08:00
MCInst.c add new option CS_OPT_MEM for cs_option(): this enable user-defined dynamic memory management. idea proposed by Pancake 2014-01-05 11:19:04 +08:00
MCInst.h rename some C header guards to be without _ as prefix to follow naming convention of C language. suggested by Markus Elfring 2014-01-02 13:15:07 +08:00
MCInstrDesc.c initial import 2013-11-27 12:11:31 +08:00
MCInstrDesc.h initial import 2013-11-27 12:11:31 +08:00
MCRegisterInfo.c initial import 2013-11-27 12:11:31 +08:00
MCRegisterInfo.h ARM: Fix bunch of issues 2013-12-11 17:35:27 +08:00
README minor fix for README 2013-12-18 10:16:07 +08:00
SStream.c initial import 2013-11-27 12:11:31 +08:00
SStream.h initial import 2013-11-27 12:11:31 +08:00
SubtargetFeature.h initial import 2013-11-27 12:11:31 +08:00
TODO TODO: remove C# related info 2014-01-07 23:54:31 +08:00
utils.c fix off-by-one error in make_id2insn. patch by Dang Hoang Vu 2014-01-06 11:41:01 +08:00
utils.h move internal memory management declarations from utils.h to cs_priv.h 2014-01-05 11:35:47 +08:00

Capstone is a disassembly framework with the target of becoming the ultimate
disasm engine for binary analysis and reversing in the security community.

Created by Nguyen Anh Quynh, then developed and maintained by a small community,
Capstone offers some unparalleled features:

- Support multiple hardware architectures: ARM, ARM64 (aka ARMv8), Mips & X86.

- Having clean/simple/lightweight/intuitive architecture-neutral API.

- Provide details on disassembled instruction (called “decomposer” by others).

- Provide semantics of the disassembled instruction, such as list of implicit
     registers read & written.

- Implemented in pure C language, with lightweight wrappers for C++, Python,
     Ruby, OCaml, C#, Java and Go available.

- Native support for Windows & *nix platforms (MacOSX, Linux & *BSD confirmed).

- Thread-safe by design.

- Distributed under the open source BSD license.

Further information is available at http://www.capstone-engine.org


[Compile]

See COMPILE file for how to compile and install Capstone


[Status]

- Capstone can only compile to Windows via Cygwin, or cross-compile using
MingW. Visual Studio support will be done in the future.

- X86 engine cannot handle many malware tricks yet. Please report all the raw
binary code that Capstone cannot disassemble, or does that wrongly, so we can
fix that in the next version

- This package only contains Java & Python bindings. For C#, Go, Ocaml & Ruby,
refer to the corresponding git repositories.


[Hack]

See HACK file for the structuture of the source code.


[License]

This project is released under the BSD license. If you redistribute the binary
or source code of Capstone, please attach file LICENSE.TXT with your products.