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
2015-07-15 15:44:42 +08:00
arch x86: truncat immediate for non-64bit. this fixes the disassembly of the code e9e9eeeeee in 32bit mode 2015-07-11 10:01:24 +08:00
bindings python: do not copy msvc/headers directory in setup.py 2015-07-15 15:44:42 +08:00
contrib vsnprintf fix 2014-06-02 21:48:30 +08:00
docs docs: add a link to online doc of cs_disasm_iter() 2014-10-13 07:27:16 +08:00
include Fix spelling nits 2015-05-05 13:57:15 -07:00
msvc no longer use osxkernel_inttypes.h for license reason & move the content of msvc\headers\inttypes.h to myinttypes.h 2015-06-08 23:21:44 +08:00
packages packages: add RPM spec file (copied from https://bugzilla.redhat.com/attachment.cgi?id=1024818) 2015-06-23 10:48:24 +08:00
suite suite: move fuzz_hardness.c to suite/fuzz/ 2015-06-16 17:32:03 +08:00
tests suite: move fuzz_hardness.c to suite/fuzz/ 2015-06-16 17:32:03 +08:00
xcode Renaming inttypes.h -> myinttypes.h 2015-04-07 14:58:43 -04:00
.gitignore [Python binding] Add capstone.egg-info to .gitignore 2015-06-19 23:22:57 -07:00
ChangeLog update ChangeLog 2015-07-15 13:01:12 +08:00
CMakeLists.txt bump version to 3.0.4 2015-06-08 22:29:55 +08:00
COMPILE_CMAKE.TXT python: setup.py builds Windows core with cmake in release mode 2015-02-03 17:45:55 +08:00
COMPILE_MSVC.TXT added CAPSTONE_X86_ATT_DISABLE_NO to VS projects, readmes 2014-08-17 21:07:13 +02:00
COMPILE.TXT Improve support for building for Android devices 2015-06-17 12:49:51 -05:00
config.mk do not modify config.mk 2015-05-17 00:52:45 +08:00
CREDITS.TXT update CREDITS.TXT 2015-06-16 17:18:26 +08:00
cs_priv.h arm: reduce the size of ARM_ITStatus.ITStates[] to 8 2015-06-03 22:25:59 +08:00
cs.c Add support to embed Capstone into OS X kernel extensions. 2015-04-10 23:28:12 +08:00
functions.mk Makefile: put common functions into functions.mk 2014-05-01 22:53:52 +08:00
HACK.TXT Fix utf8-art 2014-11-01 22:14:13 +01: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 Fix check for multi-string CC 2015-07-13 00:57:33 -04:00
Makefile Add support to embed Capstone into OS X kernel extensions. 2015-04-10 23:28:12 +08:00
MathExtras.h arm64: update core. this added a lot more details to cs_arm64_op struct 2014-08-25 16:47:12 +08: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 Add support to embed Capstone into OS X kernel extensions. 2015-04-10 23:28:12 +08:00
MCInst.h arm: some load/store instructions writeback without bang letter. bug reported by @jabba2989 2015-01-21 20:03:21 +08:00
MCInstrDesc.c Disassembler -> Disassembly 2014-04-29 11:21:04 +08:00
MCInstrDesc.h arm: more optimization on MCInstrDesc struct to reduce the library size by further 20KB 2015-03-10 17:30:26 +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
myinttypes.h add header guard to myinttypes.h 2015-06-08 23:32:33 +08:00
pkgconfig.mk bump version to 3.0.4 2015-06-08 22:29:55 +08:00
README add Rust binding to README 2015-05-13 11:59:47 +08:00
RELEASE_NOTES update RELEASE_NOTES 2015-07-15 13:03:41 +08:00
SStream.c Add support to embed Capstone into OS X kernel extensions. 2015-04-10 23:28:12 +08:00
SStream.h arm64: set absolute (rather than relative) address B/BL. issue reported by Pancake 2014-12-12 22:06:06 +08:00
TODO TODO 2015-03-11 11:32:37 +08:00
utils.c Add support to embed Capstone into OS X kernel extensions. 2015-04-10 23:28:12 +08:00
utils.h fix more MSVC warnings 2014-08-26 15:57:04 +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 (including X86_64).

- 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, Lua, NodeJS, Ocaml, Python, Ruby, Rust & 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.

- High performance & suitable for malware analysis (capable of handling various
  X86 malware tricks).

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


[Documentation]

See docs/README for how to customize & program your own tools with 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.