blob: 1a61b9484a3d7624de0ef1b94cc705ad67712700 [file] [log] [blame] [view]
Nguyen Anh Quynh3eb6eea2016-03-01 13:57:06 +08001Capstone Engine
2===============
3
Nguyen Anh Quynh79076262019-02-02 00:41:32 +08004[![Build Status](https://travis-ci.org/aquynh/capstone.svg?branch=master)](https://travis-ci.org/aquynh/capstone)
5[![Build status](https://ci.appveyor.com/api/projects/status/a4wvbn89wu3pinas/branch/master?svg=true)](https://ci.appveyor.com/project/aquynh/capstone/branch/master)
Nguyen Anh Quynh467eed62019-02-07 18:35:51 +08006[![pypi package](https://badge.fury.io/py/capstone.svg)](https://pypi.python.org/pypi/capstone)
Nguyen Anh Quynhfc4407f2019-02-15 08:58:46 +08007[![pypi downloads](https://pepy.tech/badge/capstone)](https://pepy.tech/project/capstone)
Pranith Kumar87480e42016-02-29 23:11:44 -05008
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +08009Capstone is a disassembly framework with the target of becoming the ultimate
10disasm engine for binary analysis and reversing in the security community.
11
12Created by Nguyen Anh Quynh, then developed and maintained by a small community,
13Capstone offers some unparalleled features:
14
Nguyen Anh Quynhed1246d2018-03-31 17:29:22 +080015- Support multiple hardware architectures: ARM, ARM64 (ARMv8), Ethereum VM, M68K,
Sebastian Macke7436f542018-12-04 19:09:38 +010016 Mips, MOS65XX, PPC, Sparc, SystemZ, TMS320C64X, M680X, XCore and X86 (including X86_64).
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +080017
18- Having clean/simple/lightweight/intuitive architecture-neutral API.
19
20- Provide details on disassembled instruction (called decomposer by others).
21
22- Provide semantics of the disassembled instruction, such as list of implicit
Nguyen Anh Quynh38b7bbb2014-01-22 10:21:25 +080023 registers read & written.
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +080024
Nguyen Anh Quynhf5960092018-11-21 17:45:33 +080025- Implemented in pure C language, with lightweight bindings for D, Clojure, F#,
Nguyen Anh Quynh4f05e832018-07-24 13:44:39 +080026 Common Lisp, Visual Basic, PHP, PowerShell, Emacs, Haskell, Perl, Python,
27 Ruby, C#, NodeJS, Java, GO, C++, OCaml, Lua, Rust, Delphi, Free Pascal & Vala
c0rejump03967e62020-01-04 16:42:35 +010028 (ready either in main code, or provided externally by the community).
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +080029
Nguyen Anh Quynh9672cd22014-06-16 22:06:44 +080030- Native support for all popular platforms: Windows, Mac OSX, iOS, Android,
Nguyen Anh Quynhafffa5d2018-07-20 12:36:50 +080031 Linux, \*BSD, Solaris, etc.
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +080032
33- Thread-safe by design.
34
Nguyen Anh Quynhb0b73082014-03-03 17:57:15 +080035- Special support for embedding into firmware or OS kernel.
36
Nguyen Anh Quynhedbee242014-10-21 12:04:38 +080037- High performance & suitable for malware analysis (capable of handling various
38 X86 malware tricks).
39
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +080040- Distributed under the open source BSD license.
41
Nguyen Anh Quynhb7155b02013-12-18 00:18:06 +080042Further information is available at http://www.capstone-engine.org
43
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +080044
Nguyen Anh Quynh3eb6eea2016-03-01 13:57:06 +080045Compile
46-------
Nguyen Anh Quynh8afa3dd2013-12-18 00:11:25 +080047
Nguyen Anh Quynh6217f362014-06-16 18:38:32 +080048See COMPILE.TXT file for how to compile and install Capstone.
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +080049
50
Nguyen Anh Quynh3eb6eea2016-03-01 13:57:06 +080051Documentation
52-------------
Nguyen Anh Quynh257ea592014-10-20 17:38:53 +080053
Nguyen Anh Quynhbc01e2c2014-10-20 16:29:15 +080054See docs/README for how to customize & program your own tools with Capstone.
55
56
Nguyen Anh Quynh3eb6eea2016-03-01 13:57:06 +080057Hack
58----
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +080059
Tim Strazzere13d7d302015-10-02 19:04:59 -070060See HACK.TXT file for the structure of the source code.
Nguyen Anh Quynh8afa3dd2013-12-18 00:11:25 +080061
62
Nguyen Anh Quynh3eb6eea2016-03-01 13:57:06 +080063License
64-------
Nguyen Anh Quynh8afa3dd2013-12-18 00:11:25 +080065
Nguyen Anh Quynh24ca24c2013-12-18 10:16:07 +080066This project is released under the BSD license. If you redistribute the binary
67or source code of Capstone, please attach file LICENSE.TXT with your products.