* Add auto-sync updater. * Update Capstone core with auto-sync changes. * Update ARM via auto-sync. * Make changes to arch modules which are introduced by auto-sync. * Update tests for ARM. * Fix build warnings for make * Remove meson.build * Print shift amount in decimal * Patch non LLVM register alias. * Change type of immediate operand to unsiged (due to: #771) * Replace all occurances of a register with its alias. * Fix printing of signed imms * Print rotate amount in decimal * CHange imm type to int64_t to match LLVM imm type. * Fix search for register names, by completing string first. * Print ModImm operands always in decimal * Use number format of previous capstone version. * Correct implicit writes and update_flags according to SBit. * Add missing test for RegImmShift * Reverse incorrect comparision. * Set shift information for move instructions. * Set mem access for all memory operands * Set subtracted flag if offset is negative. * Add flag for post-index memory operands. * Add detail op for BX_RET and MOVPCLR * Use instruction post_index operand. * Add VPOP and VPUSH as unique CS IDs. * Add shifting info for MOVsr. * Add TODOs. * Add in LLVM hardcoded operands to detail. * Move detail editing from InstPrinter to Mapping * Formatting * Add removed check. * Add writeback register and constraints to RFEI instructions. * Translate shift immediate * Print negative immediates * Remove duplicate invalid entry * Add CS groups to instructions * Fix write attriutes of stores. * Add missing names of added instructions * Fix LLVM bug * Add more post_index flags * http -> https * Make generated functions static * Remove tab prefix for alias instructions. * Set ValidateMCOperand to NULL. * Fix AddrMode3Operand operands * Allow getting system and banked register name via API * Add writeback to STC/LDC instructions. * Fix (hopefully) last case where disp is negative and subtracted = true * Remove accidentially introduced regressions |
||
|---|---|---|
| .github/workflows | ||
| arch | ||
| bindings | ||
| contrib | ||
| cstool | ||
| docs | ||
| include | ||
| 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.sh | ||
| cmake_uninstall.cmake.in | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| COMPILE.TXT | ||
| COMPILE_CMAKE.TXT | ||
| COMPILE_MSVC.TXT | ||
| config.mk | ||
| CREDITS.TXT | ||
| cs.c | ||
| cs_operand.h | ||
| cs_priv.h | ||
| cs_simple_types.h | ||
| functions.mk | ||
| HACK.TXT | ||
| LEB128.h | ||
| LICENSE.TXT | ||
| LICENSE_LLVM.TXT | ||
| make.sh | ||
| Makefile | ||
| Mapping.c | ||
| Mapping.h | ||
| MathExtras.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 | ||
| SPONSORS.TXT | ||
| SStream.c | ||
| SStream.h | ||
| utils.c | ||
| utils.h | ||
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, ARM64 (ARMv8), BPF, Ethereum VM, 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.