1*9a0e4156SSadaf EbrahimiTo install Capstone, you should run `pip install capstone`. 2*9a0e4156SSadaf Ebrahimi 3*9a0e4156SSadaf EbrahimiIf you would like to build Capstone with just the source distribution, without 4*9a0e4156SSadaf Ebrahimipip, just run `python setup.py install` in the folder with setup.py in it. 5*9a0e4156SSadaf Ebrahimi 6*9a0e4156SSadaf EbrahimiIn order to use this source distribution, you will need an environment that can 7*9a0e4156SSadaf Ebrahimicompile C code. On Linux, this is usually easy, but on Windows, this involves 8*9a0e4156SSadaf Ebrahimiinstalling Visual Studio and using the "Developer Command Prompt" to perform the 9*9a0e4156SSadaf Ebrahimiinstallation. See BUILDING.txt for more information. 10*9a0e4156SSadaf Ebrahimi 11*9a0e4156SSadaf EbrahimiBy default, attempting to install the python bindings will trigger a build of 12*9a0e4156SSadaf Ebrahimithe capstone native core. If this is undesirable for whatever reason, for 13*9a0e4156SSadaf Ebrahimiinstance, you already have a globally installed copy of libcapstone, you may 14*9a0e4156SSadaf Ebrahimiinhibit the build by setting the environment variable LIBCAPSTONE_PATH. The 15*9a0e4156SSadaf Ebrahimiexact value is not checked, just setting it will inhibit the build. During 16*9a0e4156SSadaf Ebrahimiexecution, this variable may be set to the path of a directory containing a 17*9a0e4156SSadaf Ebrahimispecific version of libcapstone you would like to use. 18*9a0e4156SSadaf Ebrahimi 19*9a0e4156SSadaf EbrahimiIf you don't want to build your own copy of Capstone, you can use a precompiled 20*9a0e4156SSadaf Ebrahimibinary distribution from PyPI. Saying `pip install capstone` should 21*9a0e4156SSadaf Ebrahimiautomatically obtain an appropriate copy for your system. If it does not, please 22*9a0e4156SSadaf Ebrahimiopen an issue at https://github.com/aquynh/capstone and tag @rhelmot - she 23*9a0e4156SSadaf Ebrahimiwill fix this, probably! 24*9a0e4156SSadaf Ebrahimi 25*9a0e4156SSadaf Ebrahimi-------------------------------------------------------------------------------- 26*9a0e4156SSadaf Ebrahimi 27*9a0e4156SSadaf EbrahimiCapstone is a disassembly framework with the target of becoming the ultimate 28*9a0e4156SSadaf Ebrahimidisasm engine for binary analysis and reversing in the security community. 29*9a0e4156SSadaf Ebrahimi 30*9a0e4156SSadaf EbrahimiCreated by Nguyen Anh Quynh, then developed and maintained by a small community, 31*9a0e4156SSadaf EbrahimiCapstone offers some unparalleled features: 32*9a0e4156SSadaf Ebrahimi 33*9a0e4156SSadaf Ebrahimi- Support multiple hardware architectures: ARM, ARM64 (ARMv8), Mips, PPC, Sparc, 34*9a0e4156SSadaf Ebrahimi SystemZ, XCore and X86 (including X86_64). 35*9a0e4156SSadaf Ebrahimi 36*9a0e4156SSadaf Ebrahimi- Having clean/simple/lightweight/intuitive architecture-neutral API. 37*9a0e4156SSadaf Ebrahimi 38*9a0e4156SSadaf Ebrahimi- Provide details on disassembled instruction (called “decomposer” by others). 39*9a0e4156SSadaf Ebrahimi 40*9a0e4156SSadaf Ebrahimi- Provide semantics of the disassembled instruction, such as list of implicit 41*9a0e4156SSadaf Ebrahimi registers read & written. 42*9a0e4156SSadaf Ebrahimi 43*9a0e4156SSadaf Ebrahimi- Implemented in pure C language, with lightweight wrappers for C++, C#, Go, 44*9a0e4156SSadaf Ebrahimi Java, NodeJS, Ocaml, Python, Ruby & Vala ready (available in main code, 45*9a0e4156SSadaf Ebrahimi or provided externally by the community). 46*9a0e4156SSadaf Ebrahimi 47*9a0e4156SSadaf Ebrahimi- Native support for all popular platforms: Windows, Mac OSX, iOS, Android, 48*9a0e4156SSadaf Ebrahimi Linux, *BSD, Solaris, etc. 49*9a0e4156SSadaf Ebrahimi 50*9a0e4156SSadaf Ebrahimi- Thread-safe by design. 51*9a0e4156SSadaf Ebrahimi 52*9a0e4156SSadaf Ebrahimi- Special support for embedding into firmware or OS kernel. 53*9a0e4156SSadaf Ebrahimi 54*9a0e4156SSadaf Ebrahimi- High performance & suitable for malware analysis (capable of handling various 55*9a0e4156SSadaf Ebrahimi X86 malware tricks). 56*9a0e4156SSadaf Ebrahimi 57*9a0e4156SSadaf Ebrahimi- Distributed under the open source BSD license. 58*9a0e4156SSadaf Ebrahimi 59*9a0e4156SSadaf EbrahimiFurther information is available at http://www.capstone-engine.org 60*9a0e4156SSadaf Ebrahimi 61*9a0e4156SSadaf Ebrahimi 62*9a0e4156SSadaf Ebrahimi[License] 63*9a0e4156SSadaf Ebrahimi 64*9a0e4156SSadaf EbrahimiThis project is released under the BSD license. If you redistribute the binary 65*9a0e4156SSadaf Ebrahimior source code of Capstone, please attach file LICENSE.TXT with your products. 66