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 2c5e3e5833 x86: allow 0x66 & 0x67 prefixes to be put anywhere in front of an instruction 11 years ago
arch x86: allow 0x66 & 0x67 prefixes to be put anywhere in front of an instruction 11 years ago
bindings java: add FSTPNCE instruction following the core update 11 years ago
docs update docs to add link to SKIPDATA mode 11 years ago
include header files: Disassembler -> Disassembly 11 years ago
packages packages: update Macport package 11 years ago
suite suite: update x86odd.py 11 years ago
tests SKIPDATA: add 1 more argument to callback function pointing to the input buffer of cs_disasm_ex() 11 years ago
.gitignore revert pkgconfig.mk 11 years ago
COMPILE.TXT minor fixes for COMPILE.TXT 11 years ago
CREDITS.TXT CREDITS.TXT 11 years ago
ChangeLog update Changelog for 2.1.2 11 years ago
HACK.TXT update README & HACK with SystemZ information 11 years ago
LEB128.h initial import 11 years ago
LICENSE.TXT a a newline to LICENSE.TXT 11 years ago
LICENSE_LLVM.TXT initial import 11 years ago
MCDisassembler.h rename some C header guards to be without _ as prefix to follow naming convention of C language. suggested by Markus Elfring 11 years ago
MCFixedLenDisassembler.h initial import 11 years ago
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 11 years ago
MCInst.h x86: do not print negative immediate. request of Le Dinh Long 11 years ago
MCInstrDesc.c initial import 11 years ago
MCInstrDesc.h initial import 11 years ago
MCRegisterInfo.c fix C coding style 11 years ago
MCRegisterInfo.h ARM: Fix bunch of issues 11 years ago
Makefile handle special systems putting x86_64 libs into lib64/ in make.sh, not in Makefile 11 years ago
MathExtras.h core: fix warning bugs on unused vars introduced by the last commit 11 years ago
README update README & HACK with SystemZ information 11 years ago
RELEASE_NOTES RELEASE_NOTES: update for 2.1.2 11 years ago
SStream.c add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 11 years ago
SStream.h initial import 11 years ago
SubtargetFeature.h initial import 11 years ago
TODO TODO: remove C# related info 11 years ago
config.mk allow to set archs to be compiled in from environment variable CAPSTONE_ARCHS 11 years ago
cs.c x86: handle instructions with LOCK/REP/REPNE prefix after other prefixes. bear with this until we have a better approach 11 years ago
cs_priv.h x86: handle instructions with LOCK/REP/REPNE prefix after other prefixes. bear with this until we have a better approach 11 years ago
make.sh make.sh: only handle special pkgconfig install for OSX if we are not installing in Brew env 11 years ago
pkgconfig.mk revert pkgconfig.mk 11 years ago
utils.c remove now redundant insn_reverse_id() after alias handling simplifications 11 years ago
utils.h move the macro MIN to utils.h 11 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 and 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.

- Special support for embedding into firmware or OS kernel.

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