I recently installed DROP and had a tough time getting everything configured properly due to various dependency/version issues. I'm assuming this repo isn't monitored, so I'm not bothering with a PR. Instead, I'm writing up what I did to get it working here on the off-chance it's useful to someone else.
Versions used
- Python: 2.7.15 (x86 version)
- Using
pip 9.0.3 (the version that comes installed by default)
- IDA: 6.9.151221
- OS: Windows 10
Modified installation instructions
- Install x86 version of Python 2.7 and ensure that
C:\Python27 and C:\Python27\Scripts are in your path.
cd into the dependencies directory within the repo.
- Open up requirements.txt in a text editor and make the following modifications:
pyelftools -> pyelftools == 0.24
idalink -> idalink == 0.11
- Run
easy_install -Z z3_solver-4.5.1.0.post1-py2.7.egg
- The purpose of running this before running
pip install is because one of the requirements (angr-only-z3-custom) has z3-solver as a dependency. As a result, if you run pip install first, the most recent version of z3-solver will be installed, which isn't compatible with the old version of angr being installed.
- Run
pip install -r requirements.txt
- Run
easy_install -Z archinfo-6.7.1.13-py2.7.egg pyvex-6.7.1.31-py2.7.egg cle-6.7.1.31-py2.7.egg simuvex-6.7.1.31-py2.7.egg capstone-3.0.4-py2.7.egg angr-6.7.1.31-py2.7.egg
- Copy the
drop directory and drop.py to the IDA plugins directory; DROP should be installed and working.
Since there's a high likelihood of other module updates causing breakage in the future, here's the output of pip freeze on my box. This should be useful if/when an update causes incompatibility.
ana==0.5
angr==6.7.1.31
angr-only-z3-custom==9002
archinfo==6.7.1.13
awesomelib==0.1.0
bintrees==2.0.7
cachetools==2.1.0
capstone==3.0.4
cffi==1.11.5
claripy==6.7.1.31
cle==6.7.1.31
cooldict==1.3
decorator==4.3.0
dpkt-fix==1.7
enum34==1.1.6
future==0.16.0
futures==3.2.0
idacute==1.0.1
idalink==0.11
mulpyplexer==0.8
networkx==1.11
pefile==2018.8.8
plumbum==1.6.7
progressbar==2.5
pycparser==2.17
pyelftools==0.24
python-qt5==0.1.10
pyvex==6.7.1.31
rpyc==4.0.2
sark==1.0
simuvex==6.7.1.31
unicorn==1.0.1
wrapt==1.10.11
z3-solver==4.5.1.0.post1
I recently installed DROP and had a tough time getting everything configured properly due to various dependency/version issues. I'm assuming this repo isn't monitored, so I'm not bothering with a PR. Instead, I'm writing up what I did to get it working here on the off-chance it's useful to someone else.
Versions used
pip9.0.3 (the version that comes installed by default)Modified installation instructions
C:\Python27andC:\Python27\Scriptsare in your path.cdinto thedependenciesdirectory within the repo.pyelftools->pyelftools == 0.24idalink->idalink == 0.11easy_install -Z z3_solver-4.5.1.0.post1-py2.7.eggpip installis because one of the requirements (angr-only-z3-custom) hasz3-solveras a dependency. As a result, if you runpip installfirst, the most recent version ofz3-solverwill be installed, which isn't compatible with the old version ofangrbeing installed.pip install -r requirements.txteasy_install -Z archinfo-6.7.1.13-py2.7.egg pyvex-6.7.1.31-py2.7.egg cle-6.7.1.31-py2.7.egg simuvex-6.7.1.31-py2.7.egg capstone-3.0.4-py2.7.egg angr-6.7.1.31-py2.7.eggdropdirectory anddrop.pyto the IDA plugins directory; DROP should be installed and working.Since there's a high likelihood of other module updates causing breakage in the future, here's the output of
pip freezeon my box. This should be useful if/when an update causes incompatibility.