Go to file
Nguyen Anh Quynh 572afeed7c python: code style: replace tab with 4 spaces 2013-12-16 11:19:24 +08:00
arch mips: update doing_mem status, regardless of detail option, since that is also used to avoid printing zero offset in mem reference 2013-12-15 22:05:01 +08:00
bindings python: code style: replace tab with 4 spaces 2013-12-16 11:19:24 +08:00
include arm64: add some alias registers. attn: bindings 2013-12-15 00:32:20 +08:00
tests detail option: provide instruction id even when detail option is OFF 2013-12-14 10:45:09 +08:00
.gitignore python: rename some public python classes to follow python naming convention 2013-12-16 10:31:41 +08:00
COMPILE BSD platforms are supported 2013-12-09 16:05:49 +08:00
CONFIG move PKG_* away from cs.c to CONFIG 2013-12-13 09:24:41 +08:00
CREDITS.TXT CREDITS.TXT 2013-12-05 10:08:03 +08:00
HACK more notes for HACK 2013-12-05 10:25:51 +08:00
LEB128.h initial import 2013-11-27 12:11:31 +08:00
LICENSE.TXT initial import 2013-11-27 12:11:31 +08:00
LICENSE_LLVM.TXT initial import 2013-11-27 12:11:31 +08:00
MCDisassembler.h initial import 2013-11-27 12:11:31 +08:00
MCFixedLenDisassembler.h initial import 2013-11-27 12:11:31 +08:00
MCInst.c arm: fix a memory leaking bug 2013-12-04 09:49:33 +08:00
MCInst.h support to turn on/off building instruction details 2013-12-14 00:23:41 +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
Makefile move PKG_* away from cs.c to CONFIG 2013-12-13 09:24:41 +08:00
MathExtras.h initial import 2013-11-27 12:11:31 +08:00
README BSD platforms are supported 2013-12-09 16:05:49 +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 add TODO 2013-12-16 09:32:47 +08:00
compile.sh add a note on gcc-multilib requirement for cross-compile to 'nix32' 2013-11-29 10:26:43 +08:00
cs.c simplify checking on condition to end the loop in cs_disasm(). issue spotted by Pancake 2013-12-15 22:25:58 +08:00
cs_priv.h detail option: provide instruction id even when detail option is OFF 2013-12-14 10:45:09 +08:00
utils.c x86: calculate op_size properly in special cases regarding rax, eax, ax, al registers 2013-12-13 18:28:38 +08:00
utils.h x86: calculate op_size properly in special cases regarding rax, eax, ax, al registers 2013-12-13 18:28:38 +08:00

README

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.


[Compile]
See COMPILE file for how to compile and install Capstone


[Binaries]

Binaries for different platforms are put in release/ directory.


[Hack]

See HACK file for the structuture of the source code.