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 590f23af54 arm: do not need to initialize local variable opcode in DecodeRegListOperand() 10 years ago
arch arm: do not need to initialize local variable opcode in DecodeRegListOperand() 10 years ago
bindings python: fix test_skipdata.py after the change in the core on SKIPDATA's callback prototype 10 years ago
contrib
docs update docs/README for some sample kernel applications 10 years ago
include Change the prototype of the callback in SKIPDATA option. Suggested by Ben Nagy. 10 years ago
msvc
packages
suite fix indentation introduced by the latest merge. also move test_arm_regression.c into suite/arm/ and add Makefile for it 10 years ago
tests Change the prototype of the callback in SKIPDATA option. Suggested by Ben Nagy. 10 years ago
.gitignore fix indentation introduced by the latest merge. also move test_arm_regression.c into suite/arm/ and add Makefile for it 10 years ago
CMakeLists.txt
COMPILE.TXT
COMPILE_CMAKE.TXT
COMPILE_MSVC.TXT
CREDITS.TXT update CREDITS.TXT 10 years ago
ChangeLog
HACK.TXT
LEB128.h
LICENSE.TXT
LICENSE_LLVM.TXT
MCDisassembler.h
MCFixedLenDisassembler.h
MCInst.c x86: provide size for X86_OP_IMM operand. thank Gabriel Quadros for some suggestions 10 years ago
MCInst.h x86: provide size for X86_OP_IMM operand. thank Gabriel Quadros for some suggestions 10 years ago
MCInstrDesc.c
MCInstrDesc.h avoid using stdbool.h to support compilers without C99 support 11 years ago
MCRegisterInfo.c
MCRegisterInfo.h
Makefile Simplify universal builds by relying on the linker to do the right thing 10 years ago
MathExtras.h
README
RELEASE_NOTES
SStream.c * added a test file to suite for testing invalid and valid instruction sequences 10 years ago
SStream.h
TODO
config.mk
cs.c Merge branch 'next' of https://github.com/flyingsymbols/capstone into arm 10 years ago
cs_priv.h add new API cs_group_name() to return group name in string, given the group id 10 years ago
functions.mk
make.sh on OSX, 'make uninstall' should clean files under /usr/local rather than /usr 10 years ago
pkgconfig.mk
utils.c
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.

- 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, NodeJS, Ocaml, Python, Ruby & 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.

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


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