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 4649071e2d python: add ERR_OPTION, and use @syntax setter/getter rather than option() method to set X86 syntax 11 years ago
arch x86: on mem reference, put scale after index register to be consistent with Intel style 11 years ago
bindings python: add ERR_OPTION, and use @syntax setter/getter rather than option() method to set X86 syntax 11 years ago
include add CS_ERR_OPTION type. cs_option() returns this error code on invalid option 11 years ago
tests rename @hex_code to @bytes, and move it to next to @size 11 years ago
.gitignore add capsone.pc to .gitignore 11 years ago
COMPILE update COMPILE and python README to reflect the last commit 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 initial import 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 arm64: handle alias insn in a better way, and add support for MNEG. bug reported by Patroklos Argyroudis 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 initial import 11 years ago
Makefile use PKG_{MAJOR|MINOR} to generate capstone.pc. besides, use dynamic lib rather than static lib for its 'Libs' 11 years ago
MathExtras.h initial import 11 years ago
README initial import 11 years ago
SStream.c initial import 11 years ago
SStream.h initial import 11 years ago
SubtargetFeature.h initial import 11 years ago
compile.sh add a note on gcc-multilib requirement for cross-compile to 'nix32' 11 years ago
cs.c add CS_ERR_OPTION type. cs_option() returns this error code on invalid option 11 years ago
cs_priv.h Use uint64_t instead of size_t for addresses 11 years ago
utils.c add @regs_read_count, @regs_write_count, @groups_count to @cs_insn. bump API to 1.4 11 years ago
utils.h add @regs_read_count, @regs_write_count, @groups_count to @cs_insn. bump API to 1.4 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, MacOSX & Linux platforms.

- 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.