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 96934501fd arm64: do not consider WZR & XZR alias registers 11 years ago
arch avoid using stdbool.h to support compilers without C99 support 11 years ago
bindings arm64: do not consider WZR & XZR alias registers 11 years ago
docs
include arm64: do not consider WZR & XZR alias registers 11 years ago
msvc msvc: fix for VS2010 11 years ago
packages
suite
tests test_x86: output sib_base, sib_index, sib_scale separately 11 years ago
.gitignore update .gitignore for VS2010 11 years ago
COMPILE.TXT update instructions in COMPILE* 11 years ago
COMPILE_MSVC.TXT update instructions in COMPILE* 11 years ago
CREDITS.TXT update CREDITS.TXT 11 years ago
ChangeLog
HACK.TXT update HACK.TXT on build/install instructions 11 years ago
LEB128.h Disassembler -> Disassembly 11 years ago
LICENSE.TXT
LICENSE_LLVM.TXT
MCDisassembler.h Disassembler -> Disassembly 11 years ago
MCFixedLenDisassembler.h Disassembler -> Disassembly 11 years ago
MCInst.c Disassembler -> Disassembly. also delete an orphaned file 11 years ago
MCInst.h avoid using stdbool.h to support compilers without C99 support 11 years ago
MCInstrDesc.c Disassembler -> Disassembly 11 years ago
MCInstrDesc.h avoid using stdbool.h to support compilers without C99 support 11 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: clean target should delete libs created by all ways of building 11 years ago
MathExtras.h first changes to get a successfully compiled version of capstone on VS2012 11 years ago
README
RELEASE_NOTES
SStream.c do not initialize some local vars unnecessarily. this problem was introduced when we fixed C89 issues for MSVC 11 years ago
SStream.h Disassembler -> Disassembly 11 years ago
TODO
config.mk Makefile: make it possible to avoid building static/shared library 11 years ago
cs.c fix an warning on unused local variable in fill-insn() when CAPSTONE_DIET is defined 11 years ago
cs_priv.h x86: properly handle LOCK/REP in the core, so remove buch of hacks 11 years ago
functions.mk Makefile: put common functions into functions.mk 11 years ago
make.sh Disassembler -> Disassembly 11 years ago
pkgconfig.mk
utils.c msvc: remove headers/ directory & replace it with include/platform.h 11 years ago
utils.h move prototype of strcasecmp for MSVC into utils.h, and remove platform.h 11 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 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, Ocaml, Python, Ruby & Vala ready (either available in main code,
or provided externally by community).

- Native support for Windows & *nix platforms (with OSX, Linux, *BSD & Solaris
have been confirmed).

- 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


[Status]

- Capstone can only compile to Windows via Cygwin, or cross-compile using
MingW. Visual Studio support will be done in the future.

- X86 engine cannot handle many malware tricks yet. Please report all the raw
binary code that Capstone cannot disassemble, or does that wrongly, so we can
fix that in the next version

- This package only contains Java & Python bindings. For C#, Go, Ocaml & Ruby,
refer to the corresponding git repositories.


[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.