Nguyen Anh Quynh edited this page Aug 14, 2015 · 11 revisions


Next branch

Next major version 4.0 (under development, in the next branch)


After installation, find in tutorials below how to write your reverse & analysis tools based on Capstone using your favorite programming languages.


  • List of architectures supported by Capstone.

  • Build a compact engine with only selected architectures

    This documentation explains how to build a more compact engine with only selected architectures. A smaller library is useful when we want to embed Capstone in special environments such as firmware or OS kernel driver.

  • Build "diet" engine to further slim down its size

    To make an even smaller engine, version 2.1 presents a diet mode, in which non-critical data is removed. Combined with the method of building only selected architectures above, Capstone binary size can be reduced up to 50% in some cases, make it easier than ever for embedding purpose.

  • Build embedded engine for firmware/OS kernel

    Embedding Capstone requires a special engine, built by special methods. This documentation introduces necessary steps to compile the engine & program your code towards this target.

  • Build X86-reduce engine for firmware/OS kernel

    This introduces the compile-time option named X86-reduce to make X86 engine of Capstone to be ~60% smaller, to just around 100KB.

  • SKIPDATA mode

    This introduces the SKIPDATA mode to let Capstone keeps disassembling even when it encounters broken instruction, which is most likely data mixed inside the input.

  • Iteration disassembling

    This explains how to use the API cs_disasm_iter to quickly iterates all the instructions in the input buffer using a memory cache provided by user.

  • Beyond LLVM

    A part of Capstone is built with LLVM code. However, Capstone is not just LLVM, but superior because it is designed & implemented towards disassembling for security purpose.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.