![]() * Add test with ASAN enabled. * Fix leaks in cstool and cs.c * Add work around so ASAN binaries don't DEADSIGNAL due to too many randomized address bits. * Add ASAN build arguments to cstest * Fix leaks in cstest * Use cstest binary build by the main build. * Add clonging step for cmocka when cstest is build * Skip Python tests for ASAN * Remove make build from CI * Fix leaks in cstest. - Rewrite split to remove leaks and improve runtime by 6% - Add free() * Fix cmocka external project to stable branch. * Revert "Fix leaks in cstest." This reverts commit bf8ee125b0c58f9c794eb081a69c80f8a71825cd. * Fix memleaks in cstest * Document adding of ASAN job to release guide * Add CAPSTONE_BUILD_CSTEST to build docs * Fix double free * Add more detail tests to CI and fix them * Initialize variables * Fix typo * Update cstest build docs * Revert "Remove make build from CI" This reverts commit 84f7360c6da6183cd41bec0fef3e1d0a2ee49ddf. * Make cstest only run for cmake builds. * Add cstest job for make build. * Add CAPSTONE_DIET build test. * Compile the compatibility header test with ASAN if enabled. * Fix DIET build by excluding not used code. * Missing " * Build static library with ASAN and DIET if enabled. * Revert "Add CAPSTONE_DIET build test." This reverts commit 71e1469dee53bfdb6b275dd1be19f6eb21a0c023. |
||
---|---|---|
.github | ||
.reuse | ||
LICENSES | ||
arch | ||
bindings | ||
contrib | ||
cstool | ||
docs | ||
include | ||
msvc | ||
packages | ||
suite | ||
tests | ||
windows | ||
windowsce | ||
xcode | ||
.appveyor.yml | ||
.clang-format | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
CMakeLists.txt | ||
CMakePresets.json | ||
COMPILE.TXT | ||
COMPILE_CMAKE.TXT | ||
COMPILE_MSVC.TXT | ||
CREDITS.TXT | ||
ChangeLog | ||
HACK.TXT | ||
LEB128.h | ||
MCDisassembler.h | ||
MCFixedLenDisassembler.h | ||
MCInst.c | ||
MCInst.h | ||
MCInstPrinter.c | ||
MCInstPrinter.h | ||
MCInstrDesc.c | ||
MCInstrDesc.h | ||
MCRegisterInfo.c | ||
MCRegisterInfo.h | ||
Makefile | ||
Mapping.c | ||
Mapping.h | ||
MathExtras.h | ||
README.md | ||
RELEASE_NOTES | ||
SPONSORS.TXT | ||
SStream.c | ||
SStream.h | ||
capstone-config.cmake.in | ||
capstone.pc.in | ||
cmake.sh | ||
cmake_uninstall.cmake.in | ||
config.mk | ||
cs.c | ||
cs_priv.h | ||
cs_simple_types.h | ||
functions.mk | ||
make.sh | ||
nmake.bat | ||
pkgconfig.mk | ||
run-clang-tidy.sh | ||
utils.c | ||
utils.h |
README.md
Capstone Engine
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, AArch64, Alpha, BPF, Ethereum VM, HP PA-RISC (HPPA), M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86 (16, 32, 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 bindings for Swift, D, Clojure, F#, Common Lisp, Visual Basic, PHP, PowerShell, Emacs, Haskell, Perl, Python, Ruby, C#, NodeJS, Java, GO, C++, OCaml, Lua, Rust, Delphi, Free Pascal & Vala ready either 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 https://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 structure of the source code.
Fuzz
See suite/fuzz/README.md for more information.
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.