Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. (bloaty 依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Nguyen Anh Quynh 7ca66a4982 bump package version to 3.0.1 10 years ago
arch x86: handle undocumented immediates for (v)cmpps/pd/ss/sd instructions 10 years ago
bindings python: fix a memory leak issue when we stop enumeration over the disassembled instructions prematurely. patch by Jan Newger 10 years ago
contrib vsnprintf fix 11 years ago
docs docs: add a link to online doc of cs_disasm_iter() 10 years ago
include arm64: for operand type IMM, value should have the type int64_t, not int32_t. all bindings should be fixed 10 years ago
msvc changed ImportLibrary name from capstone_dll to 'capstone_dll.lib' 10 years ago
packages package: update Brew formula (copied from Homebrew repo) 10 years ago
suite suite: change CS_MODE_32 -> CS_MODE_MIPS32, CS_MODE_64 -> CS_MODE_MIPS64 for fuzz.py & benchmark.py 10 years ago
tests fix bindings (python/java) and tests after the last change on the type of imm of cs_arm64_op 10 years ago
xcode Changed framework install path to @rpath, other changes to project file 10 years ago
.gitignore x86: more encodings for FXCH & FCOMP. also print LJUMP without * as prefix for Intel syntax. handle BOUND & FARCALL better 10 years ago
CMakeLists.txt * Fixed bug in Thumb2 pop caused by me incorrectly assuming that 10 years ago
COMPILE.TXT update COMPILE.TXT to add more bindings 10 years ago
COMPILE_CMAKE.TXT correct COMPILE_CMAKE.TXT after the last change to names of CMake options 10 years ago
COMPILE_MSVC.TXT added CAPSTONE_X86_ATT_DISABLE_NO to VS projects, readmes 10 years ago
CREDITS.TXT update CREDITS.TXT 10 years ago
ChangeLog update ChangeLog for 3.0 10 years ago
HACK.TXT Fix utf8-art 10 years ago
LEB128.h Disassembler -> Disassembly 11 years ago
LICENSE.TXT a a newline to LICENSE.TXT 11 years ago
LICENSE_LLVM.TXT initial import 11 years ago
MCDisassembler.h Disassembler -> Disassembly 11 years ago
MCFixedLenDisassembler.h Disassembler -> Disassembly 11 years ago
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 10 years ago
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 10 years ago
MCInstrDesc.c Disassembler -> Disassembly 11 years ago
MCInstrDesc.h arm: update core. this added a new instruction UDF. also updated Python+Java bindings accordingly 10 years ago
MCRegisterInfo.c Disassembler -> Disassembly. also delete an orphaned file 11 years ago
MCRegisterInfo.h avoid using stdbool.h to support compilers without C99 support 11 years ago
Makefile Makefile: check target should also run test_iter 10 years ago
MathExtras.h arm64: update core. this added a lot more details to cs_arm64_op struct 10 years ago
README update README 10 years ago
RELEASE_NOTES update RELEASE_NOTES 10 years ago
SStream.c arm64: set absolute (rather than relative) address B/BL. issue reported by Pancake 10 years ago
SStream.h arm64: set absolute (rather than relative) address B/BL. issue reported by Pancake 10 years ago
TODO update TODO 10 years ago
config.mk renamed CAPSTONE_NO_ATT to CAPSTONE_X86_ATT_DISABLE, added options to makefile, cmake, compile.txt 10 years ago
cs.c code style 10 years ago
cs_priv.h add new API cs_group_name() to return group name in string, given the group id 11 years ago
functions.mk Makefile: put common functions into functions.mk 11 years ago
inttypes.h * Fixed bug in Thumb2 pop caused by me incorrectly assuming that 10 years ago
make.sh on OSX, 'make uninstall' should clean files under /usr/local rather than /usr 10 years ago
pkgconfig.mk bump package version to 3.0.1 10 years ago
utils.c fix more MSVC warnings 10 years ago
utils.h fix more MSVC warnings 10 years ago

README

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.