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 aa078a1c4a more fixes on C coding style 11 years ago
arch more fixes on C coding style 11 years ago
bindings java: update X86_const.java after last update to x86 core 11 years ago
include Merge branch 'msvc' into test 11 years ago
suite recover some files changed by last merge 11 years ago
tests tests: report error when cs_open() failure 11 years ago
.gitignore update .gitignore for new *.pyx files generated by cython 11 years ago
COMPILE.TXT recover some files changed by last merge 11 years ago
CONFIG bump package version to 2.0 11 years ago
CREDITS.TXT CREDITS.TXT 11 years ago
ChangeLog recover some files changed by last merge 11 years ago
HACK.TXT add ChangeLog file, and rename some documentation files 11 years ago
LEB128.h initial import 11 years ago
LICENSE.TXT put website address into the license file 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 increase size of @op_str to 160 to contain long operand string of some Neon Arm instructions 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 Makefile: generate .tgz file for dist target (rather than tar.gz) 11 years ago
MathExtras.h fix C coding style 11 years ago
README recover some files changed by last merge 11 years ago
RELEASE_NOTES one more fix for RELEASE_NOTES 11 years ago
SStream.c make vsnprintf() user-defined function pointer, which is passed in via the same CS_OPT_MEM option like malloc/calloc etc 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 some minor fixes for config.mk 11 years ago
cs.c Initial set of changes to support building with MSVC 2013. Right now there's a bunch fo assumptions in the .vcxproj file and some things are not as clean as they should be, but it does build a full build and works (at least the x86 side). The point of this initial checkpoint is to make sure that nothing breaks on the GCC side, that everyone is ok with the changes to the source (or if better fixes/typing can be done). 11 years ago
cs_priv.h x86: fix known issue with prefix by combining with previous prefix instruction. this is not perfect, but good enough for now 11 years ago
make.sh correct usage instruction of make.sh 11 years ago
utils.c Initial set of changes to support building with MSVC 2013. Right now there's a bunch fo assumptions in the .vcxproj file and some things are not as clean as they should be, but it does build a full build and works (at least the x86 side). The point of this initial checkpoint is to make sure that nothing breaks on the GCC side, that everyone is ok with the changes to the source (or if better fixes/typing can be done). 11 years ago
utils.h replace strdup() with our cs_strdup(), which call cs_mem_malloc() internally 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 & 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.