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
Travis Finkenauer 853a2870ce Declare global arch arrays with contents (#1171)
This eliminates the need for archs_enable() and eliminates the racey
initialization.

This makes the architecture-specific init, option, and destroy functions
non-static so that they may be called from a different file.
2018-06-21 14:52:35 +08:00
arch Declare global arch arrays with contents (#1171) 2018-06-21 14:52:35 +08:00
bindings python: import os 2018-02-25 23:00:40 +08:00
contrib Fix an integer overflow issue (#871) 2017-03-20 20:13:14 +08:00
cstool Add cortex-m support to cstool, refactoring and crash fix (#1099) 2018-03-19 00:04:27 +08:00
docs fix typo, style 2016-09-27 07:39:51 -07:00
include Fix wrong register aliases on arm64 (#1064) 2017-12-21 09:13:03 +08:00
msvc Compile cstool on Windows using Microsoft Visual Studio (VS). (#927) 2017-05-16 16:52:34 +07:00
packages Remove homebrew formula (#1135) 2018-05-17 07:51:04 +08:00
suite Builds a test corpus for fuzzing (#1174) 2018-06-13 22:58:40 +01:00
tests Update test.c to test_basic.c (#1049) 2017-11-17 21:21:50 +03:00
windows provide a validity check to prevent against Integer overflow conditions (#870) 2017-03-13 23:34:48 +08:00
xcode macOS framework - Added a module map for Swift/Objective-C. (#1056) 2017-11-23 09:26:39 +08:00
.appveyor.yml rename appveyor.yml to .appveyor.yml 2016-03-15 00:02:39 +08:00
.gitattributes Fix language statistics by considering *.inc files to be C files. (#1078) 2018-01-14 20:40:54 +08:00
.gitignore .gitignore: add test binaries from next branch 2018-04-03 23:03:56 +08:00
.travis.yml Cleanup build process (#1140) 2018-05-25 20:59:30 +08:00
capstone.pc.in fixed hardcoded paths with variables. (#1018) 2017-09-27 09:31:42 +08:00
ChangeLog ChangeLog for 3.0.5-rc3 2017-07-31 13:15:18 +07:00
CMakeLists.txt Integrate capstone with oss-fuzz (#1150) 2018-06-01 20:46:20 +08:00
COMPILE_CMAKE.TXT add nmake.bat 2017-03-13 15:06:32 +08:00
COMPILE_MSVC.TXT fix typo, style 2016-09-27 07:39:51 -07:00
COMPILE.TXT Improve support for building for Android devices 2015-06-17 12:49:51 -05:00
config.mk OS X kernel support (see https://github.com/aquynh/capstone/pull/528) 2015-11-10 23:02:26 +01:00
CREDITS.TXT cleanup 2017-04-17 10:24:31 +08:00
cs_priv.h prefix cs_ to global variables to avoid link problems (#1102) 2018-03-19 22:23:09 +08:00
cs.c Declare global arch arrays with contents (#1171) 2018-06-21 14:52:35 +08:00
functions.mk Makefile: put common functions into functions.mk 2014-05-01 22:53:52 +08:00
HACK.TXT cstool: update README with more details 2016-10-11 00:20:58 +08:00
LEB128.h skip stdint.h for windows driver configuration 2016-04-23 15:58:31 -07: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 Move functionality from make.sh to Makefile (#1138) 2018-05-17 07:55:44 +08:00
Makefile Cleanup build process (#1140) 2018-05-25 20:59:30 +08:00
MathExtras.h fix undefined shift in countLeadingZeros (#1157) 2018-06-03 22:26:11 +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 Availability.h include to fix macOS SDK instrinsics (#1175) 2018-06-14 22:12:26 +01:00
MCInst.h skip stdint.h for windows driver configuration 2016-04-23 15:58:31 -07:00
MCInstrDesc.c Constify backend data (#1040) 2017-10-22 08:45:40 +08:00
MCInstrDesc.h Constify backend data (#1040) 2017-10-22 08:45:40 +08:00
MCRegisterInfo.c Constify backend data (#1040) 2017-10-22 08:45:40 +08:00
MCRegisterInfo.h Constify backend data (#1040) 2017-10-22 08:45:40 +08:00
nmake.bat add nmake.bat 2017-03-13 15:06:32 +08:00
pkgconfig.mk bump PKG_TAG to rc3 2017-08-03 09:36:31 +07:00
README add VB to README 2017-04-14 23:26:55 +08:00
RELEASE_NOTES update RELEASE_NOTES 2015-07-15 13:03:41 +08:00
SStream.c Add Availability.h include to fix macOS SDK instrinsics (#1175) 2018-06-14 22:12:26 +01:00
SStream.h Constify backend data (#1040) 2017-10-22 08:45:40 +08:00
TODO TODO 2015-03-11 11:32:37 +08:00
utils.c Add Availability.h include to fix macOS SDK instrinsics (#1175) 2018-06-14 22:12:26 +01:00
utils.h Constify backend data (#1040) 2017-10-22 08:45:40 +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 bindings for Visual Basic, PHP,
  PowerShell, Emacs, Haskell, Perl, Python, Ruby, C#, NodeJS, Java, GO, C++, OCaml,
  Lua, Rust, Delphi, Free Pascal & Vala ready either 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 structure 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.