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
2014-07-02 12:22:39 +08:00
arch x86: address-size prefix should override RIP relative address in x64 mode. bug reported by @hlide 2014-06-30 07:57:29 +08:00
bindings ocaml: simplification in ocaml.c: op_count variable 2014-06-30 16:18:55 +02:00
contrib vsnprintf fix 2014-06-02 21:48:30 +08:00
docs update docs to add link to SKIPDATA mode 2014-04-11 01:32:48 +08:00
include arm: add ASRS, LSRS, VCLE, VCLT instructions. update Python & Java bindings at the same time 2014-06-17 13:29:54 +08:00
msvc msvc: remove unused CAPSTONE_STATIC macro in capstone_static project 2014-06-04 16:45:45 +07:00
packages packages: update Macport package 2014-04-07 09:25:44 -07:00
suite suite: support XCore in fuzz.py 2014-06-17 18:17:59 +08:00
tests rename CCLD to LINK 2014-06-03 23:43:53 +07:00
.gitignore update .gitignore for Ocaml binding 2014-06-26 22:10:41 +08:00
ChangeLog update Changelog for 2.1.2 2014-04-01 16:28:55 +08:00
CMakeLists.txt Modified CMakeLists.txt to re-enable support for building both static and shared versions of the library. 2014-06-03 21:07:03 +00:00
COMPILE_CMAKE.TXT Update COMPILE_CMAKE.TXT 2014-05-30 00:37:30 +08:00
COMPILE_MSVC.TXT add COMPILE_CMAKE.TXT & update COMPILE.TXT 2014-05-28 22:39:23 +08:00
COMPILE.TXT add COMPILE_CMAKE.TXT & update COMPILE.TXT 2014-05-28 22:39:23 +08:00
config.mk enable disabled archs 2014-05-26 23:24:11 +08:00
CREDITS.TXT update CREDITS.TXT 2014-06-26 22:49:16 +08:00
cs_priv.h x86: add immediate operand (1) for SHL/SHR/ROR/ROL/SAR/SAL in detail mode & Intel syntax 2014-05-19 16:46:31 +08:00
cs.c simplify code copying @mnemonic in fill_insn() 2014-07-02 12:22:39 +08:00
functions.mk Makefile: put common functions into functions.mk 2014-05-01 22:53:52 +08:00
HACK.TXT update HACK.TXT 2014-05-31 12:09:16 +08:00
LEB128.h Disassembler -> Disassembly 2014-04-29 11:21:04 +08:00
LICENSE_LLVM.TXT initial import 2013-11-27 12:11:31 +08:00
LICENSE.TXT a a newline to LICENSE.TXT 2014-02-20 17:08:28 +08:00
make.sh Disassembler -> Disassembly 2014-04-29 11:21:04 +08:00
Makefile rename CCLD to LINK 2014-06-03 23:43:53 +07:00
MathExtras.h first changes to get a successfully compiled version of capstone on VS2012 2014-05-08 23:44:49 +01:00
MCDisassembler.h Disassembler -> Disassembly 2014-04-29 11:21:04 +08:00
MCFixedLenDisassembler.h Disassembler -> Disassembly 2014-04-29 11:21:04 +08:00
MCInst.c remove redundant return in MCInst_Init() 2014-06-18 15:39:00 +08:00
MCInst.h bump number of operands supported by MCInst to 48. this fixes a segfault in ARM 2014-06-17 17:19:11 +08:00
MCInstrDesc.c Disassembler -> Disassembly 2014-04-29 11:21:04 +08:00
MCInstrDesc.h avoid using stdbool.h to support compilers without C99 support 2014-05-15 21:40:24 +08:00
MCRegisterInfo.c Disassembler -> Disassembly. also delete an orphaned file 2014-05-08 22:54:58 +08:00
MCRegisterInfo.h avoid using stdbool.h to support compilers without C99 support 2014-05-15 21:40:24 +08:00
pkgconfig.mk revert pkgconfig.mk 2014-03-31 20:47:35 +08:00
README update README 2014-06-16 22:06:44 +08:00
RELEASE_NOTES RELEASE_NOTES: update for 2.1.2 2014-03-30 22:37:58 +08:00
SStream.c msvc: disable warning on strcpy() 2014-06-17 15:09:59 +08:00
SStream.h avoid using vsnprintf when possible for SStream_concat() to improve performance. based on the idea of Dang Hoang Vu. 2014-06-04 18:31:02 +08:00
TODO update TODO 2014-05-27 16:17:26 +08:00
utils.c no need to zeroout insn_cache in make_id2insn() 2014-06-17 13:32:37 +08:00
utils.h replace offset_of with offsetof from stddef.h 2014-06-17 14:58:39 +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 (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.