Capstone disassembly/disassembler framework for ARM, ARM64 (ARMv8), Alpha, BPF, Ethereum VM, HPPA, LoongArch, M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86.
Go to file
2013-12-22 13:00:48 +08:00
arch support cs_option() for arm64 module 2013-12-22 11:10:56 +08:00
bindings Merge branch 'master' of https://github.com/aquynh/capstone into module 2013-12-21 10:00:44 +08:00
include Change the way of supporting arch modularization 2013-12-22 10:40:58 +08:00
tests tests: simplify print_insn_detail() function by deleting unused argument 2013-12-16 23:37:08 +08:00
.gitignore python: rename some public python classes to follow python naming convention 2013-12-16 10:31:41 +08:00
COMPILE BSD platforms are supported 2013-12-09 16:05:49 +08:00
compile.sh add a note on gcc-multilib requirement for cross-compile to 'nix32' 2013-11-29 10:26:43 +08:00
CONFIG move PKG_* away from cs.c to CONFIG 2013-12-13 09:24:41 +08:00
config.mk make it less error-prone to handle config.mk 2013-12-22 13:00:48 +08:00
CREDITS.TXT CREDITS.TXT 2013-12-05 10:08:03 +08:00
cs_priv.h reduce MAX_ARCH to save some memory. this is for internal usage only, so we can increase it in future if needed without having any compatibility issue 2013-12-22 11:13:07 +08:00
cs.c support cs_option() for arm64 module 2013-12-22 11:10:56 +08:00
HACK more notes for HACK 2013-12-05 10:25:51 +08:00
LEB128.h initial import 2013-11-27 12:11:31 +08:00
LICENSE_LLVM.TXT initial import 2013-11-27 12:11:31 +08:00
LICENSE.TXT put website address into the license file 2013-12-17 22:13:09 +08:00
Makefile Revert to allow multiple arch compilations 2013-12-21 22:48:56 -06:00
MathExtras.h initial import 2013-11-27 12:11:31 +08:00
MCDisassembler.h initial import 2013-11-27 12:11:31 +08:00
MCFixedLenDisassembler.h initial import 2013-11-27 12:11:31 +08:00
MCInst.c arm: fix a memory leaking bug 2013-12-04 09:49:33 +08:00
MCInst.h support to turn on/off building instruction details 2013-12-14 00:23:41 +08:00
MCInstrDesc.c initial import 2013-11-27 12:11:31 +08:00
MCInstrDesc.h initial import 2013-11-27 12:11:31 +08:00
MCRegisterInfo.c initial import 2013-11-27 12:11:31 +08:00
MCRegisterInfo.h ARM: Fix bunch of issues 2013-12-11 17:35:27 +08:00
README minor fix for README 2013-12-18 10:16:07 +08:00
SStream.c initial import 2013-11-27 12:11:31 +08:00
SStream.h initial import 2013-11-27 12:11:31 +08:00
SubtargetFeature.h initial import 2013-11-27 12:11:31 +08:00
TODO add reducing binary size to TODO list 2013-12-19 10:33:07 +08:00
utils.c size down insn_map structructure by reducing the size of some fields. this alone makes lib binary size 2.6MB smaller 2013-12-20 17:35:15 +08:00
utils.h size down insn_map structructure by reducing the size of some fields. this alone makes lib binary size 2.6MB smaller 2013-12-20 17:35:15 +08:00

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 (aka ARMv8), Mips & 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++, Python,
     Ruby, OCaml, C#, Java and Go available.

- Native support for Windows & *nix platforms (MacOSX, Linux & *BSD confirmed).

- Thread-safe by design.

- Distributed under the open source BSD license.

Further information is available at http://www.capstone-engine.org


[Compile]

See COMPILE 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 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.