Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. (bloaty 依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Nguyen Anh Quynh fa0639b7e1 python: clean setup.py 11 years ago
arch mips: update doing_mem status, regardless of detail option, since that is also used to avoid printing zero offset in mem reference 11 years ago
bindings python: clean setup.py 11 years ago
include arm64: add some alias registers. attn: bindings 11 years ago
tests tests: simplify print_insn_detail() function by deleting unused argument 11 years ago
.gitignore python: rename some public python classes to follow python naming convention 11 years ago
COMPILE BSD platforms are supported 11 years ago
CONFIG move PKG_* away from cs.c to CONFIG 11 years ago
CREDITS.TXT CREDITS.TXT 11 years ago
HACK more notes for HACK 11 years ago
LEB128.h initial import 11 years ago
LICENSE.TXT put website address into the license file 11 years ago
LICENSE_LLVM.TXT initial import 11 years ago
MCDisassembler.h initial import 11 years ago
MCFixedLenDisassembler.h initial import 11 years ago
MCInst.c arm: fix a memory leaking bug 11 years ago
MCInst.h support to turn on/off building instruction details 11 years ago
MCInstrDesc.c initial import 11 years ago
MCInstrDesc.h initial import 11 years ago
MCRegisterInfo.c initial import 11 years ago
MCRegisterInfo.h ARM: Fix bunch of issues 11 years ago
Makefile move PKG_* away from cs.c to CONFIG 11 years ago
MathExtras.h initial import 11 years ago
README BSD platforms are supported 11 years ago
SStream.c initial import 11 years ago
SStream.h initial import 11 years ago
SubtargetFeature.h initial import 11 years ago
TODO update TODO 11 years ago
compile.sh add a note on gcc-multilib requirement for cross-compile to 'nix32' 11 years ago
cs.c simplify checking on condition to end the loop in cs_disasm(). issue spotted by Pancake 11 years ago
cs_priv.h detail option: provide instruction id even when detail option is OFF 11 years ago
utils.c x86: calculate op_size properly in special cases regarding rax, eax, ax, al registers 11 years ago
utils.h x86: calculate op_size properly in special cases regarding rax, eax, ax, al registers 11 years ago

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.