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.
 
 
 
 
 
 
Félix Cloutier 073086b78e Removing schema files since they are normally not committed 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 vsnprintf fix 11 years ago
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
xcode Removing schema files since they are normally not committed 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 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 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 Disassembler -> Disassembly 11 years ago
MCInstrDesc.h arm: update core. this added a new instruction UDF. also updated Python+Java bindings accordingly 10 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 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 update README 11 years ago
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 simplify the way to calculate insn_cache in cs_disasm(). suggested by @hlide 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 Makefile: put common functions into functions.mk 11 years ago
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.