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
dannyleates be483c0ca8 Update Readme
Giving some more detailed information about the installation process.
2014-02-04 20:40:02 +08:00
arch x86: proper calculation for the trailing instruction in total cache. issue reported by Pancake 2014-01-22 09:46:42 +08:00
bindings Update Readme 2014-02-04 20:40:02 +08:00
docs add docs/ 2014-01-24 07:22:14 +08:00
include cs_open() should return error on invalid mode 2014-01-21 15:26:02 +08:00
suite reset prev_prefix at the entry of cs_disasm_ex(). this fixes a nasty segfault bug 2014-01-22 11:04:25 +08:00
tests tests: report error when cs_open() failure 2014-01-19 16:04:23 +08:00
.gitignore update .gitignore for new *.pyx files generated by cython 2014-01-13 20:43:44 +08:00
ChangeLog minor fix for ChangeLog 2014-01-22 18:33:35 +08:00
COMPILE.TXT update COMPILE.TXT 2014-01-22 10:17:59 +08:00
CONFIG bump package version to 2.0 2014-01-06 12:50:55 +08:00
config.mk some minor fixes for config.mk 2014-01-13 11:18:45 +08:00
CREDITS.TXT CREDITS.TXT 2013-12-05 10:08:03 +08:00
cs_priv.h x86: fix known issue with prefix by combining with previous prefix instruction. this is not perfect, but good enough for now 2014-01-21 11:49:25 +08:00
cs.c reset prev_prefix at the entry of cs_disasm_ex(). this fixes a nasty segfault bug 2014-01-22 11:04:25 +08:00
HACK.TXT add ChangeLog file, and rename some documentation files 2014-01-15 21:20:47 +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
make.sh correct usage instruction of make.sh 2014-01-21 14:10:05 +08:00
Makefile Makefile: generate .tgz file for dist target (rather than tar.gz) 2014-01-23 21:48:55 +08:00
MathExtras.h initial import 2013-11-27 12:11:31 +08:00
MCDisassembler.h rename some C header guards to be without _ as prefix to follow naming convention of C language. suggested by Markus Elfring 2014-01-02 13:15:07 +08:00
MCFixedLenDisassembler.h initial import 2013-11-27 12:11:31 +08:00
MCInst.c rename memory function pointer types to have cs_ prefix. also rename internal function pointers my_* to have cs_mem_ prefix - suggested by Pancake 2014-01-11 12:55:31 +08:00
MCInst.h increase size of @op_str to 160 to contain long operand string of some Neon Arm instructions 2014-01-15 17:51:08 +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 update README 2014-01-22 10:21:25 +08:00
RELEASE_NOTES one more fix for RELEASE_NOTES 2014-01-22 17:46:25 +08:00
SStream.c make vsnprintf() user-defined function pointer, which is passed in via the same CS_OPT_MEM option like malloc/calloc etc 2014-01-15 20:44:03 +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 TODO: remove C# related info 2014-01-07 23:54:31 +08:00
utils.c replace strdup() with our cs_strdup(), which call cs_mem_malloc() internally 2014-01-15 18:27:01 +08:00
utils.h replace strdup() with our cs_strdup(), which call cs_mem_malloc() internally 2014-01-15 18:27:01 +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 & 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, Ocaml, Python, Ruby & Vala ready (either available in main code,
  or provided externally by community).

- Native support for Windows & *nix platforms (with OSX, Linux, *BSD & Solaris
  have been 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.TXT 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.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.