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 215e76b223 ppc: use MCInst_insert0() instead of MCInst_insert() to avoid malloc/free 11 years ago
arch ppc: use MCInst_insert0() instead of MCInst_insert() to avoid malloc/free 11 years ago
bindings python: fix an use-after-free issue. bug reported by Luis Miras 11 years ago
contrib vsnprintf fix 11 years ago
docs update docs to add link to SKIPDATA mode 11 years ago
include Fix for GCC MIPS toolchain 11 years ago
msvc msvc: remove unused CAPSTONE_STATIC macro in capstone_static project 11 years ago
packages packages: update Macport package 11 years ago
suite suite: update x86odd.py 11 years ago
tests rename CCLD to LINK 11 years ago
.gitignore python: support XCore 11 years ago
CMakeLists.txt Modified CMakeLists.txt to re-enable support for building both static and shared versions of the library. 11 years ago
COMPILE.TXT add COMPILE_CMAKE.TXT & update COMPILE.TXT 11 years ago
COMPILE_CMAKE.TXT Update COMPILE_CMAKE.TXT 11 years ago
COMPILE_MSVC.TXT add COMPILE_CMAKE.TXT & update COMPILE.TXT 11 years ago
CREDITS.TXT update CREDITS.TXT 11 years ago
ChangeLog update Changelog for 2.1.2 11 years ago
HACK.TXT update HACK.TXT 11 years ago
LEB128.h Disassembler -> Disassembly 11 years ago
LICENSE.TXT a a newline to LICENSE.TXT 11 years ago
LICENSE_LLVM.TXT initial import 11 years ago
MCDisassembler.h Disassembler -> Disassembly 11 years ago
MCFixedLenDisassembler.h Disassembler -> Disassembly 11 years ago
MCInst.c ppc: use MCInst_insert0() instead of MCInst_insert() to avoid malloc/free 11 years ago
MCInst.h ppc: use MCInst_insert0() instead of MCInst_insert() to avoid malloc/free 11 years ago
MCInstrDesc.c Disassembler -> Disassembly 11 years ago
MCInstrDesc.h avoid using stdbool.h to support compilers without C99 support 11 years ago
MCRegisterInfo.c Disassembler -> Disassembly. also delete an orphaned file 11 years ago
MCRegisterInfo.h avoid using stdbool.h to support compilers without C99 support 11 years ago
Makefile rename CCLD to LINK 11 years ago
MathExtras.h first changes to get a successfully compiled version of capstone on VS2012 11 years ago
README update README 11 years ago
RELEASE_NOTES RELEASE_NOTES: update for 2.1.2 11 years ago
SStream.c avoid using vsnprintf when possible for SStream_concat() to improve performance. based on the idea of Dang Hoang Vu. 11 years ago
SStream.h avoid using vsnprintf when possible for SStream_concat() to improve performance. based on the idea of Dang Hoang Vu. 11 years ago
TODO update TODO 11 years ago
config.mk enable disabled archs 11 years ago
cs.c consider tab as delimiter char in asm bufffer in fill_insn() 11 years ago
cs_priv.h x86: add immediate operand (1) for SHL/SHR/ROR/ROL/SAR/SAL in detail mode & Intel syntax 11 years ago
functions.mk Makefile: put common functions into functions.mk 11 years ago
make.sh Disassembler -> Disassembly 11 years ago
pkgconfig.mk revert pkgconfig.mk 11 years ago
utils.c use malloc() rather than calloc() for handle->insn_cache in make_id2insn() 11 years ago
utils.h initialize cs_insn.detail by properly zero-out right members for each arch 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, Sparc,
SystemZ, XCore and 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.

- Special support for embedding into firmware or OS kernel.

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

- This package only contains Java & Python bindings. For more bindings created
and maintained by the community, see bindings/README.


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