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.
 
 
 
 
 
 
learn_more 653696e287 Validate group names against a hardcoded list per arch. 10 years ago
arch Merge pull request #329 from frida/fix/warning 10 years ago
bindings python: correct a comment of method CsInsn.group_name() 10 years ago
contrib
docs
include/capstone Update capstone.h 10 years ago
msvc
packages
suite Validate group names against a hardcoded list per arch. 10 years ago
tests
xcode Renaming inttypes.h -> myinttypes.h 10 years ago
.gitignore Renaming inttypes.h -> myinttypes.h 10 years ago
CMakeLists.txt Also include the common headers. 10 years ago
COMPILE.TXT
COMPILE_CMAKE.TXT
COMPILE_MSVC.TXT
CREDITS.TXT
ChangeLog
HACK.TXT
LEB128.h
LICENSE.TXT
LICENSE_LLVM.TXT
MANIFEST.in
MCDisassembler.h
MCFixedLenDisassembler.h
MCInst.c Add support to embed Capstone 3.x branch into OS X kernel extensions. 10 years ago
MCInst.h
MCInstrDesc.c
MCInstrDesc.h
MCRegisterInfo.c
MCRegisterInfo.h
Makefile Improve the pkgconfig generation logic 10 years ago
MathExtras.h
README
RELEASE_NOTES
SStream.c Add support to embed Capstone 3.x branch into OS X kernel extensions. 10 years ago
SStream.h
TODO
config.mk
cs.c Add support to embed Capstone 3.x branch into OS X kernel extensions. 10 years ago
cs_priv.h
functions.mk
make.sh
myinttypes.h fix typo in myinttypes.h 10 years ago
osxkernel_inttypes.h Add support to embed Capstone 3.x branch into OS X kernel extensions. 10 years ago
pkgconfig.mk
utils.c Add support to embed Capstone 3.x branch into OS X kernel extensions. 10 years ago
utils.h

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, Sparc,
SystemZ, XCore and X86 (including X86_64).

- 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, Lua, NodeJS, Ocaml, Python, Ruby, Rust & Vala ready (available in main
code, or provided externally by the community).

- Native support for all popular platforms: Windows, Mac OSX, iOS, Android,
Linux, *BSD, Solaris, etc.

- Thread-safe by design.

- Special support for embedding into firmware or OS kernel.

- High performance & suitable for malware analysis (capable of handling various
X86 malware tricks).

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


[Documentation]

See docs/README for how to customize & program your own tools with Capstone.


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