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.
 
 
 
 
 
 
Wu ChenXu 9e27c51c24
Merge pull request #1950 from vapier/master
2 years ago
.github/workflows PyPI workflow (#1645) 4 years ago
arch update capstone-engine.org URIs to https:// 2 years ago
bindings update capstone-engine.org URIs to https:// 2 years ago
contrib update capstone-engine.org URIs to https:// 2 years ago
cstool systemz: pad instruction width up to 6 bytes (#1679) 4 years ago
docs update capstone-engine.org URIs to https:// 2 years ago
include include: avoid UB with signed overflow/shift (#1675) 4 years ago
msvc MSVC tooling updates (#1651) 4 years ago
packages update capstone-engine.org URIs to https:// 2 years ago
suite Corpus generation is more robust (#1419) 6 years ago
tests fix build android (#1765) 3 years ago
windows Fix user data alignment in MEMBLOCK (#1471) 5 years ago
windowsce Added documentation for building for Windows CE. 9 years ago
xcode merge next to master 6 years ago
.appveyor.yml rename appveyor.yml to .appveyor.yml 9 years ago
.gitattributes Fix language statistics by considering *.inc files to be C files. (#1078) 7 years ago
.gitignore fix for make.sh for android (#1523) 5 years ago
.travis.yml Update .travis.yml 5 years ago
CMakeLists.txt Update cmake_minimum_required to version 2.8.12 (#1756) 3 years ago
COMPILE.TXT update capstone-engine.org URIs to https:// 2 years ago
COMPILE_CMAKE.TXT Fixed typos in compilation steps. (#1762) 3 years ago
COMPILE_MSVC.TXT Add vcpkg installation instructions (#1602) 5 years ago
CREDITS.TXT PyPI workflow (#1645) 4 years ago
ChangeLog update capstone-engine.org URIs to https:// 2 years ago
HACK.TXT update HACK.TXT with coding style 6 years ago
LEB128.h Undefined shifts (#1154) 6 years ago
LICENSE.TXT update capstone-engine.org URIs to https:// 2 years ago
LICENSE_LLVM.TXT initial import 11 years ago
MCDisassembler.h 2015 10 years ago
MCFixedLenDisassembler.h 2015 10 years ago
MCInst.c MCInst: fix uninitialized value in operand value (#1684) 4 years ago
MCInst.h remove unused MCOperand_Init() 6 years ago
MCInstrDesc.c merge next to master 6 years ago
MCInstrDesc.h merge next to master 6 years ago
MCRegisterInfo.c merge next to master 6 years ago
MCRegisterInfo.h merge next to master 6 years ago
Makefile Fix Makefile CAPSTONE_BUILD_CORE_ONLY (#1617) 4 years ago
MathExtras.h fix undefined shift in countLeadingZeros (#1157) 6 years ago
README.md update capstone-engine.org URIs to https:// 2 years ago
RELEASE_NOTES update SPONSORS.TXT 6 years ago
SPONSORS.TXT update SPONSORS.TXT 6 years ago
SStream.c merge next to master 6 years ago
SStream.h merge next to master 6 years ago
TODO TODO 10 years ago
capstone.pc.in update capstone-engine.org URIs to https:// 2 years ago
cmake.sh fix cmake.sh 5 years ago
config.mk Add support for the MOS65XX family such as the MOS 6502. 6 years ago
cs.c Fix typos of MOS65XX (#1390) 6 years ago
cs_priv.h merge next to master 6 years ago
functions.mk Makefile: put common functions into functions.mk 11 years ago
make.sh fix build android (#1765) 3 years ago
nmake.bat Add cmake option to tell whether architectures should be included by default (#1463) 5 years ago
pkgconfig.mk v4.1.0: set extra version = 0 6 years ago
utils.c Fix typos. (#1248) 6 years ago
utils.h Fix typos. (#1248) 6 years ago

README.md

Capstone Engine

Build Status Build status pypi package pypi downloads

Deprecation

The master branch is deprecated. All forward development should be based on the next branch.

To clone a fresh checkout with the next branch:

git clone -b next https://github.com/capstone-engine/capstone

To change to the next branch in an existing checkout:

git checkout next

We moved the original historical repo of Capstone from https://github.com/aquynh/capstone to an organization, where we can add more maintainers to the project, and push Capstone development forward.

Our new home is https://github.com/capstone-engine/capstone

Nov 8th, 2021.


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), Ethereum VM, M68K, Mips, MOS65XX, PPC, Sparc, SystemZ, TMS320C64X, M680X, 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 bindings for D, Clojure, F#, Common Lisp, Visual Basic, PHP, PowerShell, Emacs, Haskell, Perl, Python, Ruby, C#, NodeJS, Java, GO, C++, OCaml, Lua, Rust, Delphi, Free Pascal & Vala (ready either in main code, or provided externally by the community).

  • Native support for all popular platforms: Windows, macOS, 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 https://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 structure 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.