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.
 
 
 
 
 
 
danghvu 2fb7c8e46a Fix a bug with previous patch 10 years ago
arch ppc: remove duplicate op_addReg() in printAliasInstrEx() 10 years ago
bindings java: add 'check' target to Makefile 10 years ago
contrib
docs move slides to docs/ 10 years ago
include rename all the constants marking ending from _MAX to _ENDING. this also updates Java/Python/Ocaml bindings accordingly 10 years ago
msvc changed ImportLibrary name from capstone_dll to 'capstone_dll.lib' 10 years ago
packages package: update Macports & Homebrew 10 years ago
suite suite: chmod +x ppcbranch.py 10 years ago
tests tests: compile without -O3 flag. this is to make it easier to maintain FreeBSD package 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
LEB128.h
LICENSE.TXT
LICENSE_LLVM.TXT
MCDisassembler.h
MCFixedLenDisassembler.h
MCInst.c
MCInst.h
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 Makefile: simplify generate-pkgcfg by using INCDIR. reviewed by Pancake 10 years ago
MathExtras.h arm64: update core. this added a lot more details to cs_arm64_op struct 10 years ago
README
RELEASE_NOTES update RELEASE_NOTES 10 years ago
SStream.c some simple optimizations for speed. this improves performance about 5% 10 years ago
SStream.h arm64: update core. this added a lot more details to cs_arm64_op struct 10 years ago
TODO TODO: Ocaml binding is working now (though still incomplete) 10 years ago
config.mk renamed CAPSTONE_NO_ATT to CAPSTONE_X86_ATT_DISABLE, added options to makefile, cmake, compile.txt 10 years ago
cs.c Fix a bug with previous patch 10 years ago
cs_priv.h
functions.mk
inttypes.h Workaround missing <inttypes.h> on MSVC 2010 10 years ago
make.sh
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.