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-03 12:34:56 +08:00
arch merge Radare's pull request on API change on @address of cs_disasm*() 2013-12-03 11:53:42 +08:00
bindings java: clean up Test.java 2013-12-03 11:27:58 +08:00
include consistently use same param name @address rather than @offset in all cs_disasm*() API 2013-12-03 12:23:09 +08:00
tests tests: now @address is uint64_t, no need to typecast for PRIx64 anymore 2013-12-03 12:24:06 +08:00
.gitignore update .gitignore to ignore bunch of files 2013-11-28 15:45:57 +08:00
COMPILE update COMPILE and python README to reflect the last commit 2013-12-03 09:28:43 +08:00
compile.sh add a note on gcc-multilib requirement for cross-compile to 'nix32' 2013-11-29 10:26:43 +08:00
CREDITS.TXT update CREDITS 2013-12-01 23:47:11 +08:00
cs_priv.h Use uint64_t instead of size_t for addresses 2013-12-03 02:51:46 +01:00
cs.c bump API to 1.5 due to the change in cs_disasm*(), and add PKG_{MAJOR|MINOR} for package version 2013-12-03 12:27:46 +08:00
HACK add more details into HACK file 2013-11-27 21:29:12 +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 initial import 2013-11-27 12:11:31 +08:00
Makefile use PKG_{MAJOR|MINOR} to generate capstone.pc. besides, use dynamic lib rather than static lib for its 'Libs' 2013-12-03 12:34:56 +08: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: upgrade core engine 2013-12-01 22:19:27 +08:00
MCInst.h arm64: handle alias insn in a better way, and add support for MNEG. bug reported by Patroklos Argyroudis 2013-11-30 00:54:24 +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 initial import 2013-11-27 12:11:31 +08:00
README initial import 2013-11-27 12:11:31 +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
utils.c add @regs_read_count, @regs_write_count, @groups_count to @cs_insn. bump API to 1.4 2013-12-03 11:10:26 +08:00
utils.h add @regs_read_count, @regs_write_count, @groups_count to @cs_insn. bump API to 1.4 2013-12-03 11:10:26 +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, MacOSX & Linux platforms.

- Thread-safe by design.

- Distributed under the open source BSD license.


[Compile]
See COMPILE file for how to compile and install Capstone


[Binaries]

Binaries for different platforms are put in release/ directory.


[Hack]

See HACK file for the structuture of the source code.