Nguyen Anh Quynh | 1ae38db | 2013-11-27 14:33:13 +0800 | [diff] [blame] | 1 | Capstone source is organized as followings. |
| 2 | |
Nguyen Anh Quynh | 7f36d26 | 2013-12-05 10:25:51 +0800 | [diff] [blame] | 3 | |
Nguyen Anh Quynh | 8282dc6 | 2014-01-15 21:20:47 +0800 | [diff] [blame] | 4 | . <- core engine + README + COMPILE.TXT etc |
Nguyen Anh Quynh | bdbde1f | 2013-11-27 17:00:06 +0800 | [diff] [blame] | 5 | ├── arch <- code handling disasm engine for each arch |
Nguyen Anh Quynh | 7f36d26 | 2013-12-05 10:25:51 +0800 | [diff] [blame] | 6 | │ ├── AArch64 <- ARM64 (aka ARMv8) engine |
| 7 | │ ├── ARM <- ARM engine |
Wolfgang Schwotzer | 22b4d0e | 2017-10-21 15:44:36 +0200 | [diff] [blame] | 8 | │ ├── M680X <- M680X engine |
Nguyen Anh Quynh | 74a114e | 2015-10-05 16:14:19 +0800 | [diff] [blame] | 9 | │ ├── M68K <- M68K engine |
Nguyen Anh Quynh | 7f36d26 | 2013-12-05 10:25:51 +0800 | [diff] [blame] | 10 | │ ├── Mips <- Mips engine |
Nguyen Anh Quynh | ab26cd9 | 2014-01-07 11:46:21 +0800 | [diff] [blame] | 11 | │ ├── PowerPC <- PowerPC engine |
Nguyen Anh Quynh | 636f506 | 2014-03-23 22:24:28 +0800 | [diff] [blame] | 12 | │ ├── Sparc <- Sparc engine |
| 13 | │ ├── SystemZ <- SystemZ engine |
Nguyen Anh Quynh | c80d840 | 2014-05-26 23:02:48 +0800 | [diff] [blame] | 14 | │ ├── X86 <- X86 engine |
| 15 | │ └── XCore <- XCore engine |
Nguyen Anh Quynh | 18ebd80 | 2013-11-27 21:29:12 +0800 | [diff] [blame] | 16 | ├── bindings <- all bindings are under this dir |
Nguyen Anh Quynh | bdbde1f | 2013-11-27 17:00:06 +0800 | [diff] [blame] | 17 | │ ├── java <- Java bindings + test code |
| 18 | │ ├── ocaml <- Ocaml bindings + test code |
pancake | 5ea5037 | 2014-11-01 22:14:13 +0100 | [diff] [blame] | 19 | │ └── python <- Python bindings + test code |
Nguyen Anh Quynh | ea980bd | 2014-11-02 00:34:14 +0800 | [diff] [blame] | 20 | ├── contrib <- Code contributed by community to help Capstone integration |
Nguyen Anh Quynh | fcd1b44 | 2016-10-11 00:20:58 +0800 | [diff] [blame] | 21 | ├── cstool <- Cstool |
Nguyen Anh Quynh | ea980bd | 2014-11-02 00:34:14 +0800 | [diff] [blame] | 22 | ├── docs <- Documentation |
Nguyen Anh Quynh | 7f36d26 | 2013-12-05 10:25:51 +0800 | [diff] [blame] | 23 | ├── include <- API headers in C language (*.h) |
Nguyen Anh Quynh | ea980bd | 2014-11-02 00:34:14 +0800 | [diff] [blame] | 24 | ├── msvc <- Microsoft Visual Studio support (for Windows compile) |
| 25 | ├── packages <- Packages for Linux/OSX/BSD. |
tandasat | 45e5eab | 2016-05-11 21:48:32 -0700 | [diff] [blame] | 26 | ├── windows <- Windows support (for Windows kernel driver compile) |
Nguyen Anh Quynh | 6adc5c1 | 2014-01-07 11:34:05 +0800 | [diff] [blame] | 27 | ├── suite <- Development test tools - for Capstone developers only |
Nguyen Anh Quynh | 7f36d26 | 2013-12-05 10:25:51 +0800 | [diff] [blame] | 28 | ├── tests <- Test code (in C language) |
pancake | 5ea5037 | 2014-11-01 22:14:13 +0100 | [diff] [blame] | 29 | └── xcode <- Xcode support (for MacOSX compile) |
Nguyen Anh Quynh | 1ae38db | 2013-11-27 14:33:13 +0800 | [diff] [blame] | 30 | |
| 31 | |
Nguyen Anh Quynh | ea980bd | 2014-11-02 00:34:14 +0800 | [diff] [blame] | 32 | Follow instructions in COMPILE.TXT for how to compile and run test code. |
Nguyen Anh Quynh | 18ebd80 | 2013-11-27 21:29:12 +0800 | [diff] [blame] | 33 | |
Nguyen Anh Quynh | 7f36d26 | 2013-12-05 10:25:51 +0800 | [diff] [blame] | 34 | Note: if you find some strange bugs, it is recommended to firstly clean |
| 35 | the code and try to recompile/reinstall again. This can be done with: |
Nguyen Anh Quynh | 1ae38db | 2013-11-27 14:33:13 +0800 | [diff] [blame] | 36 | |
Nguyen Anh Quynh | 06aef6b | 2014-05-07 16:00:33 +0800 | [diff] [blame] | 37 | $ ./make.sh |
| 38 | $ sudo ./make.sh install |
Nguyen Anh Quynh | 1ae38db | 2013-11-27 14:33:13 +0800 | [diff] [blame] | 39 | |
Nguyen Anh Quynh | fcd1b44 | 2016-10-11 00:20:58 +0800 | [diff] [blame] | 40 | Then test Capstone with cstool, for example: |
| 41 | |
| 42 | $ cstool x32 "90 91" |
| 43 | |
Nguyen Anh Quynh | ea980bd | 2014-11-02 00:34:14 +0800 | [diff] [blame] | 44 | At the same time, for Java/Ocaml/Python bindings, be sure to always use |
Satoshi Tanda | 565b6c3 | 2016-09-27 07:39:51 -0700 | [diff] [blame] | 45 | the bindings coming with the core to avoid potential incompatibility issue |
Nguyen Anh Quynh | ea980bd | 2014-11-02 00:34:14 +0800 | [diff] [blame] | 46 | with older versions. |
| 47 | See bindings/<language>/README for detail instructions on how to compile & |
| 48 | install the bindings. |