-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILDING.txt
78 lines (54 loc) · 2.25 KB
/
BUILDING.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
------------------------------------------------------
IDAPython - Python plugin for Interactive Disassembler
------------------------------------------------------
Building From Source
--------------------
REQUIREMENTS
------------
[Tested versions are in brackets]
- IDA and IDA SDK [> 5.6]
http://www.hex-rays.com/idapro/
- Python [2.5.1, 2.6.1, 2.7]
http://www.python.org/
- Simplified Wrapper Interface Generator (SWIG) [2.0.12]
http://www.swig.org/
Hex-Rays cannot guarantee support for IDAPython
versions built with other versions of SWIG.
- 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.
1. Unpack the IDAPython source and IDA SDK into the following
directory structure:
swigsdk-versions/x.y/ - A supported version of the IDA SDK
idapython/ - IDAPython source code
Note: To build with Hex-Rays decompiler support, please copy hexrays.hpp from
the decompiler SDK folder into IDA's include folder (in the SDK).
2. On Mac OS X copy libida.dylib from the IDA install directory to
swigsdk-versions/x.y/lib/x86_mac_gcc_32/
and libida64.dylib to
swigsdk-versions/x.y/lib/x86_mac_gcc_64/
3. Build the plugin
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.
4. Install the components as described in README.txt
See build.py for build details and possible tweaks.
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