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 443af14b52 ocaml: make some calls on Store_field() in ocaml.c to be in order 10 years ago
arch mips: add JR.HB & JALR.HB instructions. also update Ocaml/Python/Java bindings 10 years ago
bindings ocaml: make some calls on Store_field() in ocaml.c to be in order 10 years ago
contrib vsnprintf fix 11 years ago
docs move slides to docs/ 10 years ago
include typo fix for capstone.h 10 years ago
msvc changed ImportLibrary name from capstone_dll to 'capstone_dll.lib' 10 years ago
packages
suite Workaround missing <inttypes.h> on MSVC 2010 10 years ago
tests mips: add JR.HB & JALR.HB instructions. also update Ocaml/Python/Java bindings 10 years ago
.gitignore updated gitignore to ignore the ipch/ directory (MSVC specific) 10 years ago
CMakeLists.txt Fixed a typo in a CMake option name 10 years ago
COMPILE.TXT x86: return proper error if cs_option() enables AT&T syntax but AT&T support is opt-out at compile time 10 years ago
COMPILE_CMAKE.TXT correct COMPILE_CMAKE.TXT after the last change to names of CMake options 10 years ago
COMPILE_MSVC.TXT added CAPSTONE_X86_ATT_DISABLE_NO to VS projects, readmes 10 years ago
CREDITS.TXT update CREDITS.TXT 10 years ago
ChangeLog
HACK.TXT update HACK.TXT 11 years ago
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 11 years ago
MCInst.h x86: provide size for X86_OP_IMM operand. thank Gabriel Quadros for some suggestions 11 years ago
MCInstrDesc.c
MCInstrDesc.h arm: update core. this added a new instruction UDF. also updated Python+Java bindings accordingly 10 years ago
MCRegisterInfo.c
MCRegisterInfo.h
Makefile renamed CAPSTONE_NO_ATT to CAPSTONE_X86_ATT_DISABLE, added options to makefile, cmake, compile.txt 10 years ago
MathExtras.h arm64: update core. this added a lot more details to cs_arm64_op struct 10 years ago
README update README 11 years ago
RELEASE_NOTES
SStream.c Workaround missing <inttypes.h> on MSVC 2010 10 years ago
SStream.h arm64: update core. this added a lot more details to cs_arm64_op struct 10 years ago
TODO
config.mk renamed CAPSTONE_NO_ATT to CAPSTONE_X86_ATT_DISABLE, added options to makefile, cmake, compile.txt 10 years ago
cs.c api: get back the old API cs_disasm() & mark cs_disasm_ex() deprecated. cs_disasm_ex() will be removed in the future 10 years ago
cs_priv.h add new API cs_group_name() to return group name in string, given the group id 11 years ago
functions.mk
inttypes.h Workaround missing <inttypes.h> on MSVC 2010 10 years ago
make.sh on OSX, 'make uninstall' should clean files under /usr/local rather than /usr 10 years ago
pkgconfig.mk bump API & package version to 3.0 10 years ago
utils.c fix more MSVC warnings 10 years ago
utils.h fix more MSVC warnings 10 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, 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.