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-12-23 15:30:40 +08:00
arch arm64: print ADR with absolute address. bug reported by blackboxer123 2014-12-23 15:30:40 +08:00
bindings python: fix a memory leak issue when we stop enumeration over the disassembled instructions prematurely. patch by Jan Newger 2014-12-16 00:09:40 +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 arm64: for operand type IMM, value should have the type int64_t, not int32_t. all bindings should be fixed 2014-11-17 11:27:15 +08:00
msvc changed ImportLibrary name from capstone_dll to 'capstone_dll.lib' 2014-08-30 14:49:16 +02:00
packages package: update Brew formula (copied from Homebrew repo) 2014-12-12 14:09:33 +08:00
suite suite: change CS_MODE_32 -> CS_MODE_MIPS32, CS_MODE_64 -> CS_MODE_MIPS64 for fuzz.py & benchmark.py 2014-11-17 17:38:18 +08:00
tests fix bindings (python/java) and tests after the last change on the type of imm of cs_arm64_op 2014-11-17 11:39:36 +08:00
xcode Changed framework install path to @rpath, other changes to project file 2014-10-31 14:11:05 -04:00
.gitignore Merge branch 'next' of https://github.com/aquynh/capstone into next 2014-10-13 07:34:34 +08:00
ChangeLog update ChangeLog for 3.0 2014-11-19 17:56:04 +08:00
CMakeLists.txt * Fixed bug in Thumb2 pop caused by me incorrectly assuming that 2014-10-23 12:04:23 -04:00
COMPILE_CMAKE.TXT correct COMPILE_CMAKE.TXT after the last change to names of CMake options 2014-09-20 10:59:01 +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 update COMPILE.TXT to add more bindings 2014-11-14 15:22:05 +08:00
config.mk renamed CAPSTONE_NO_ATT to CAPSTONE_X86_ATT_DISABLE, added options to makefile, cmake, compile.txt 2014-08-17 20:59:05 +02:00
CREDITS.TXT update CREDITS.TXT 2014-10-15 20:54:00 +08:00
cs_priv.h add new API cs_group_name() to return group name in string, given the group id 2014-07-08 08:59:27 +08:00
cs.c code style 2014-12-15 11:22:46 +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
inttypes.h * Fixed bug in Thumb2 pop caused by me incorrectly assuming that 2014-10-23 12:04:23 -04: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 on OSX, 'make uninstall' should clean files under /usr/local rather than /usr 2014-07-22 21:19:02 +08:00
Makefile Makefile: check target should also run test_iter 2014-11-02 08:21:34 +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 x86: print out immediate as positive number for logic arithmetic operations: AND, OR, XOR. only works for x86 Intel syntax so far. issue reported by Pancake 2014-11-03 16:32:06 +08:00
MCInst.h x86: print out immediate as positive number for logic arithmetic operations: AND, OR, XOR. only works for x86 Intel syntax so far. issue reported by Pancake 2014-11-03 16:32:06 +08:00
MCInstrDesc.c Disassembler -> Disassembly 2014-04-29 11:21:04 +08:00
MCInstrDesc.h arm: update core. this added a new instruction UDF. also updated Python+Java bindings accordingly 2014-08-13 22:38:15 +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 bump API & package version to 3.0 2014-08-13 14:15:27 +08:00
README update README 2014-10-21 12:04:38 +08:00
RELEASE_NOTES update RELEASE_NOTES 2014-10-01 15:07:06 +08:00
SStream.c arm64: set absolute (rather than relative) address B/BL. issue reported by Pancake 2014-12-12 22:06:06 +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 update TODO 2014-10-28 14:14:30 +08:00
utils.c fix more MSVC warnings 2014-08-26 15:57:04 +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, 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.

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