02e6c14e12
Writing / reading to model specific registers should be as easy as calling a function, it's a bit stupid to write shell code and run them just to write/read to a MSR, and even worse, you need more than just a shellcode to read... So, add a special register ID called UC_X86_REG_MSR, which should be passed to uc_reg_write()/uc_reg_read() as the register ID, and then a data structure which is uc_x86_msr (12 bytes), as the value (always), where: Byte Value Size 0 MSR ID 4 4 MSR val 8 |
||
---|---|---|
.. | ||
prebuilt | ||
unicorn | ||
Makefile | ||
MANIFEST.in | ||
README.TXT | ||
sample_all.sh | ||
sample_arm64.py | ||
sample_arm.py | ||
sample_m68k.py | ||
sample_mips.py | ||
sample_network_auditing.py | ||
sample_sparc.py | ||
sample_x86.py | ||
setup.cfg | ||
setup.py | ||
shellcode.py |
This documentation explains how to install the python binding for Unicorn from source. 1. Installing on Linux: $ sudo python setup.py install This will build the core C library, package it with the python bindings, and install it to your system. 2. Installing on Windows: Run the following command in command prompt: C:\> C:\location_to_python\python.exe setup.py install Next, copy all the DLL files from the 'Core engine for Windows' package available on the Unicorn download page and paste it in the path: C:\location_to_python\Lib\site-packages\unicorn\ 3. Sample code 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. - sample_network_auditing.py This shows how to analyze & interpret Linux shellcode.