unicorn/bindings/python
Nguyen Anh Quynh 90eb8f2e72 This commit continues the PR #111
- Allow to register handler separately for invalid memory access
- Add new memory events for hooking:
   - UC_MEM_READ_INVALID, UC_MEM_WRITE_INVALID, UC_MEM_FETCH_INVALID
   - UC_HOOK_MEM_READ_PROT, UC_HOOK_MEM_WRITE_PROT, UC_HOOK_MEM_FETCH_PROT
- Rename UC_ERR_EXEC_PROT to UC_ERR_FETCH_PROT
- Change API uc_hook_add() so event type @type can be combined from hooking types
2015-09-24 14:18:02 +08:00
..
unicorn This commit continues the PR #111 2015-09-24 14:18:02 +08:00
Makefile import 2015-08-21 15:04:50 +08:00
MANIFEST.in import 2015-08-21 15:04:50 +08:00
README.TXT import 2015-08-21 15:04:50 +08:00
sample_all.sh fix file perms 2015-08-28 21:05:38 -07:00
sample_arm64.py fix file perms 2015-08-28 21:05:38 -07:00
sample_arm.py fix file perms 2015-08-28 21:05:38 -07:00
sample_m68k.py fix file perms 2015-08-28 21:05:38 -07:00
sample_mips.py fix file perms 2015-08-28 21:05:38 -07:00
sample_network_auditing.py fix file perms 2015-08-28 21:05:38 -07:00
sample_sparc.py sparc: do not accept BIGENDIAN mode in samples. more sanity check should be done in the core 2015-09-11 14:02:27 +08:00
sample_x86.py This commit continues the PR #111 2015-09-24 14:18:02 +08:00
setup.py fix file perms 2015-08-28 21:05:38 -07:00
shellcode.py fix file perms 2015-08-28 21:05:38 -07:00

This documentation explains how to install Python binding for Unicorn
from source. If you want to install it from PyPi package, see the below
docs instead:

   - README.pypi-src: How to compile the Unicorn core & install binding
     at the same time from PyPi package "unicorn"

   - README.pypi-win: How to install binding for Windows from PyPi package
     "unicorn-windows". Note that this package already has prebuilt core
     inside, so no compilation is needed.


0. Install the core engine as dependency

   Follow README in the root directory to compile & install the core.

   On *nix, this can simply done by:

        $ sudo ./make.sh install


1. To install pure Python binding on *nix, run the command below:

		$ sudo make install

  To install Python3 binding package, run the command below:
  (Note: this requires python3 installed in your machine)

		$ sudo make install3



This directory contains some sample code to show how to use Unicorn API.

- sample_<arch>.py
  These code show how to access architecture-specific information for each
  architecture.

- shellcode.py
  This shows how to analyze a Linux shellcode.


2. To install Python binding on Windows:

Recommended method:

	Use the Python module installer for 32/64 bit Windows from:

		http://www.unicorn-engine.org/download.html


Manual method:

	If the module installer fails to locate your Python install, or if you have
	additional Python installs (e.g. Anaconda / virtualenv), run the following
	command in command prompt:

		C:\> C:\location_to_python\python.exe setup.py install

	Next, copy unicorn.dll from the 'Core engine for Windows' package available
	on the same Unicorn download page and paste it in the path:

		C:\location_to_python\Lib\site-packages\unicorn\