2010-06-28 14:36:40 +02:00
|
|
|
----------------------------------------------------------
|
|
|
|
IDAPython - Python plugin for Interactive Disassembler Pro
|
|
|
|
----------------------------------------------------------
|
|
|
|
Building From Source
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
REQUIREMENTS
|
|
|
|
------------
|
|
|
|
|
|
|
|
[Tested versions are in brackets]
|
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
|
|
|
|
- IDA and IDA SDK [> 5.6]
|
2010-06-28 14:36:40 +02:00
|
|
|
http://www.hex-rays.com/idapro/
|
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
- Python [2.5.1, 2.6.1, 2.7]
|
2010-06-28 14:36:40 +02:00
|
|
|
http://www.python.org/
|
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
- Simplified Wrapper Interface Generator (SWIG) [2.0]
|
2010-06-28 14:36:40 +02:00
|
|
|
http://www.swig.org/
|
|
|
|
|
|
|
|
- Unix utilities (GNU patch on Windows):
|
|
|
|
http://www.research.att.com/sw/tools/uwin/ or
|
|
|
|
http://unxutils.sourceforge.net/ or
|
|
|
|
http://www.cygwin.com/
|
|
|
|
|
|
|
|
- GCC on Linux and Mac OS X [4.0.1, 4.1.3]
|
|
|
|
Comes with your distribution
|
|
|
|
|
|
|
|
- Microsoft Visual C on Windows [Microsoft Visual C++ 2008 Express Edition]
|
|
|
|
http://msdn.microsoft.com/vstudio/express/visualc/
|
|
|
|
|
|
|
|
|
|
|
|
BUILDING
|
|
|
|
--------
|
|
|
|
|
|
|
|
Make sure all the needed tools (compiler, swig) are on the PATH.
|
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
1. Unpack the IDAPython source and IDA Pro SDK into the following
|
2010-06-28 14:36:40 +02:00
|
|
|
directory structure:
|
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
swigsdk-versions/x.y/ - A supported version of the IDA Pro SDK
|
2010-06-28 14:36:40 +02:00
|
|
|
idapython/ - IDAPython source code
|
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
2. On Mac OS X copy libida.dylib from the IDA install directory to
|
|
|
|
swigsdk-versions/x.y/lib/gcc32.mac/
|
2010-06-28 14:36:40 +02:00
|
|
|
and libida64.dylib to
|
2010-11-10 14:58:08 +01:00
|
|
|
swigsdk-versions/x.y/lib/gcc64.mac/
|
2010-06-28 14:36:40 +02:00
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
3. Build the plugin
|
2010-06-28 14:36:40 +02:00
|
|
|
|
|
|
|
python build.py
|
|
|
|
|
|
|
|
It is possible to build the plugin for different Python versions by
|
|
|
|
running build.py with the corresponding Python binary.
|
|
|
|
|
|
|
|
Run 'build.py --help' for more information.
|
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
4. Install the components as described in README.txt
|
2010-06-28 14:36:40 +02:00
|
|
|
|
|
|
|
See build.py for build details and possible tweaks.
|
2010-11-10 14:58:08 +01:00
|
|
|
|
|
|
|
On 64 bits distributions, you may need to compile Python to generate a 32bit
|
|
|
|
version of the interpreter:
|
|
|
|
|
|
|
|
1. tar xvf Python-2.6.6.tar.bz2
|
|
|
|
2. cd Python-2.6.6
|
|
|
|
3. CC="gcc -m32" CXX="c++ -m32" ./configure --prefix=/path/to/py32 --enable-shared
|
|
|
|
4. make
|
|
|
|
5. make install
|
|
|
|
6. cd /path/to/py32/lib
|
|
|
|
7. ln -s libpython2.6.so.1.0 libpython2.6.so.1
|
|
|
|
8. PYTHONHOME=/path/to/py32 LD_LIBRARY_PATH=/path/to/py32/lib idaq
|