README.md 3.03 KB
Newer Older
1
2
3
Capstone Engine
===============

4
5
[![Build Status](https://travis-ci.org/aquynh/capstone.svg?branch=master)](https://travis-ci.org/aquynh/capstone)
[![Build status](https://ci.appveyor.com/api/projects/status/a4wvbn89wu3pinas/branch/master?svg=true)](https://ci.appveyor.com/project/aquynh/capstone/branch/master)
6
[![pypi package](https://badge.fury.io/py/capstone.svg)](https://pypi.python.org/pypi/capstone)
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
7
[![pypi downloads](https://pepy.tech/badge/capstone)](https://pepy.tech/project/capstone)
8

9
10
11
12
13
14
15
16
17
18
19
20
21
22
Deprecation
===========

The [`master`](https://github.com/capstone-engine/capstone/tree/master) branch is deprecated.
All forward development should be based on the [`next`](https://github.com/capstone-engine/capstone/tree/next) branch.

To clone a fresh checkout with the `next` branch:

    git clone -b next https://github.com/capstone-engine/capstone

To change to the `next` branch in an existing checkout:

    git checkout next

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
23
24
----

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
25
We moved the original historical repo of Capstone from https://github.com/aquynh/capstone to an organization, where we can add more maintainers to the project, and push Capstone development forward.
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
26

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
27
28
29
Our new home is https://github.com/capstone-engine/capstone

Nov 8th, 2021.
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
30
31
32

----

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
33
34
35
36
37
38
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:

39
- Support multiple hardware architectures: ARM, ARM64 (ARMv8), Ethereum VM, M68K,
40
  Mips, MOS65XX, PPC, Sparc, SystemZ, TMS320C64X, M680X, XCore and X86 (including X86_64).
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
41
42
43
44
45
46

- 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
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
47
  registers read & written.
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
48

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
49
- Implemented in pure C language, with lightweight bindings for D, Clojure, F#,
Nguyen Anh Quynh's avatar
README    
Nguyen Anh Quynh committed
50
51
  Common Lisp, Visual Basic, PHP, PowerShell, Emacs, Haskell, Perl, Python,
  Ruby, C#, NodeJS, Java, GO, C++, OCaml, Lua, Rust, Delphi, Free Pascal & Vala
52
  (ready either in main code, or provided externally by the community).
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
53

syscl's avatar
syscl committed
54
- Native support for all popular platforms: Windows, macOS, iOS, Android,
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
55
  Linux, \*BSD, Solaris, etc.
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
56
57
58

- Thread-safe by design.

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
59
60
- Special support for embedding into firmware or OS kernel.

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
61
62
63
- High performance & suitable for malware analysis (capable of handling various
  X86 malware tricks).

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
64
65
- Distributed under the open source BSD license.

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
66
67
Further information is available at http://www.capstone-engine.org

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
68

69
70
Compile
-------
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
71

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
72
See COMPILE.TXT file for how to compile and install Capstone.
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
73
74


75
76
Documentation
-------------
Nguyen Anh Quynh's avatar
newline    
Nguyen Anh Quynh committed
77

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
78
79
80
See docs/README for how to customize & program your own tools with Capstone.


81
82
Hack
----
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
83

Tim Strazzere's avatar
Tim Strazzere committed
84
See HACK.TXT file for the structure of the source code.
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
85
86


87
88
License
-------
Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
89

Nguyen Anh Quynh's avatar
Nguyen Anh Quynh committed
90
91
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.