3a2cd3c331
* Fix CID 508418 - Uninitialized struct * Fix CID 509089 - Fix OOB read and write * Fix CID 509088 - OOB. Also adds tests and to ensure no OOB access. * Fix CID 509085 - Resource leak. * Fix CID 508414 and companions - Using undefined values. * Fix CID 508405 - Use of uninitialized value * Remove unnecessary and badly implemented dev fuzz code. * Fix CID 508396 - Uninitialzied variable. * Fix CID 508393, 508365 -- OOB read. * Fix CID 432207 - OVerlapping memory access. * Remove unused functions * Fix CID 432170 - Overlapping memory access. * Fix CID 166022 - Check for negative index * Let strncat not depend n src operand. * Fix 509083 and 509084 - NULL dereference * Remove duplicated code. * Initialize sysop * Fix resource leak * Remove unreachable code. * Remove duplicate code. * Add assert to check return value of cmoack * Fixed: d should be a signed value, since it is checked against < 0 * Add missing break. * Add NULL check * Fix signs of binary search comparisons. * Add explicit cast of or result * Fix correct scope of case. * Handle invalid integer type. * Return UINT_MAX instead of implicitly casted -1 * Remove dead code * Fix type of im * Fix type of d * Remove duplicated code. * Add returns after CS_ASSERTS * Check for len == 0 case. * Ensure shift operates on uint64 * Replace strcpy with strncpy. * Handle edge cases for 32bit rotate * Fix some out of enum warnings * Replace a strcpy with strncpy. * Fix increment of address * Skip some linting * Fix: set instruction id * Remove unused enum * Replace the last usages of strcpy with SStream functions. * Increase number of allowed AArch64 operands. * Check safety of incrementing t the next operand. * Fix naming of operand * Update python constants * Fix option setup of CS_OPT_DETAIL_REAL * Document DETAIL_REAL has to be used with CS_OPT_ON. * Run Coverity scan every Monday. * Remove dead code * Fix OOB read * Rename macro to reflect it is only used with sstreams * Fix rebase issues |
||
---|---|---|
.github | ||
.reuse | ||
arch | ||
bindings | ||
contrib | ||
cstool | ||
docs | ||
include | ||
LICENSES | ||
msvc | ||
packages | ||
suite | ||
tests | ||
windows | ||
windowsce | ||
xcode | ||
.appveyor.yml | ||
.clang-format | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
capstone-config.cmake.in | ||
capstone.pc.in | ||
ChangeLog | ||
cmake_uninstall.cmake.in | ||
cmake.sh | ||
CMakeLists.txt | ||
CMakePresets.json | ||
COMPILE_CMAKE.TXT | ||
COMPILE_MAKE.TXT | ||
COMPILE_MSVC.TXT | ||
config.mk | ||
CREDITS.TXT | ||
cs_priv.h | ||
cs_simple_types.h | ||
cs.c | ||
functions.mk | ||
HACK.TXT | ||
LEB128.h | ||
make.sh | ||
Makefile | ||
Mapping.c | ||
Mapping.h | ||
MathExtras.h | ||
MCAsmInfo.h | ||
MCDisassembler.h | ||
MCFixedLenDisassembler.h | ||
MCInst.c | ||
MCInst.h | ||
MCInstPrinter.c | ||
MCInstPrinter.h | ||
MCInstrDesc.c | ||
MCInstrDesc.h | ||
MCRegisterInfo.c | ||
MCRegisterInfo.h | ||
nmake.bat | ||
pkgconfig.mk | ||
README.md | ||
RELEASE_NOTES | ||
run-clang-tidy.sh | ||
SPONSORS.TXT | ||
SStream.c | ||
SStream.h | ||
utils.c | ||
utils.h |
Capstone Engine
Tip
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, LoongArch, 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_CMAKE.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.