Package: tacocapstone
0. This documentation explains how to install Python binding for Capstonefrom source. If you want to install it from PyPi package, see the belowdocs instead:- README.pypi-src: How to compile the Capstone core & install bindingat the same time from PyPi package "capstone"- README.pypi-win: How to install binding for Windows from PyPi package"capstone-windows". Note that this package already has prebuilt coreinside, so no compilation is needed.1. To install pure Python binding on *nix, run the command below:$ sudo make installTo install Python3 binding package, run the command below:(Note: this requires python3 installed in your machine)$ sudo make install32. For better Python performance, install cython-based binding with:$ sudo make install_cythonNote that this requires cython installed in your machine first.To install cython, see section 3 below.3. To install cython, you have to ensure that the header filesand the static library for Python are installed beforehand.E.g. on Ubuntu, do:$ sudo apt-get install python-devDepending on if you already have pip or easy_installinstalled, install cython with either:$ sudo pip install cythonor:$ sudo easy_install cythonNOTE: Depending on your distribution you might also be able toinstall the required cython version using your repository.E.g. on Ubuntu, do:$ sudo apt-get install cythonHowever, our cython-based binding requires cython version 0.19 or newer,but sometimes distributions only provide older version. Make sure toverify the current installed version before going into section 2 above.E.g, on Ubuntu, you can verify the current cython version with:$ apt-cache policy cythonWhich should at least print version 0.19This directory contains some test code to show how to use Capstone API.- test.pyThis code shows the most simple form of API where we only want to get basicinformation out of disassembled instruction, such as address, mnemonic andoperand string.- test_lite.pySimilarly to test.py, but this code shows how to use disasm_lite(), a lightermethod to disassemble binary. Unlike disasm() API (used by test.py), which returnsCsInsn objects, this API just returns tuples of (address, size, mnemonic, op_str).The main reason for using this API is better performance: disasm_lite() is at least20% faster than disasm(). Memory usage is also less. So if you just need basicinformation out of disassembler, use disasm_lite() instead of disasm().- test_detail.py:This code shows how to access to architecture-neutral information in disassembledinstructions, such as implicit registers read/written, or groups of instructionsthat this instruction belong to.- test_<arch>.pyThese code show how to access architecture-specific information for eacharchitecture.2. To install Python binding on Windows:Recommended method:Use the Python module installer for 32/64 bit Windows from:http://www.capstone-engine.org/download.htmlManual method:If the module installer fails to locate your Python install, or if you haveadditional Python installs (e.g. Anaconda / virtualenv), run the followingcommand in command prompt:C:\> C:\location_to_python\python.exe setup.py installNext, copy capstone.dll from the 'Core engine for Windows' package availableon the same Capstone download page and paste it in the path:C:\location_to_python\Lib\site-packages\capstone\