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 6dc1dd5ae0 ocaml: remove fields regs_read_count, regs_write_count, groups_count, as they can be derived from the lengths of related arrays 10 years ago
arch arm: t2BXJ also belongs to groups ARM_GRP_NOTMCLASS & ARM_GRP_PREV8 10 years ago
bindings ocaml: remove fields regs_read_count, regs_write_count, groups_count, as they can be derived from the lengths of related arrays 10 years ago
contrib vsnprintf fix 10 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 packages: update Macport package 11 years ago
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 update Changelog for 2.1.2 11 years ago
HACK.TXT update HACK.TXT 10 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 10 years ago
MCInst.h x86: provide size for X86_OP_IMM operand. thank Gabriel Quadros for some suggestions 10 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 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 10 years ago
RELEASE_NOTES RELEASE_NOTES: update for 2.1.2 11 years ago
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 update TODO 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 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 10 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.