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 fc83a439e5 add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 11 years ago
arch add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 11 years ago
bindings
docs
include add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 11 years ago
packages package: homebrew should install libraries in 'lib/', but not 'lib64/' 11 years ago
suite
tests tests: continue to next tests rather than quit when failing to initialize a test 11 years ago
.gitignore
COMPILE.TXT
CONFIG
CREDITS.TXT
ChangeLog
HACK.TXT
LEB128.h
LICENSE.TXT
LICENSE_LLVM.TXT
MCDisassembler.h
MCFixedLenDisassembler.h
MCInst.c
MCInst.h
MCInstrDesc.c
MCInstrDesc.h
MCRegisterInfo.c
MCRegisterInfo.h
Makefile add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 11 years ago
MathExtras.h
README
RELEASE_NOTES
SStream.c add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 11 years ago
SStream.h
SubtargetFeature.h
TODO
config.mk add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 11 years ago
cs.c add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 11 years ago
cs_priv.h
make.sh
utils.c
utils.h add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 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 (ARMv8), Mips, PPC & 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++, C#, Go,
Java, Ocaml, Python, Ruby & Vala ready (either available in main code,
or provided externally by community).

- Native support for Windows & *nix platforms (with OSX, Linux, *BSD & Solaris
have been 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.TXT 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.TXT 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.