Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency and documentation issues #1

Open
hairlessbear opened this issue Oct 24, 2018 · 1 comment
Open

Dependency and documentation issues #1

hairlessbear opened this issue Oct 24, 2018 · 1 comment

Comments

@hairlessbear
Copy link

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

  1. Install x86 version of Python 2.7 and ensure that C:\Python27 and C:\Python27\Scripts are in your path.
  2. cd into the dependencies directory within the repo.
  3. Open up requirements.txt in a text editor and make the following modifications:
    1. pyelftools -> pyelftools == 0.24
    2. idalink -> idalink == 0.11
  4. Run easy_install -Z z3_solver-4.5.1.0.post1-py2.7.egg
    1. 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.
  5. Run pip install -r requirements.txt
  6. 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
  7. 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
@hairlessbear
Copy link
Author

Also worth mentioning, this plugin was a result of the author's thesis, which contains a lot of details about the plugin's background and design: https://th0mas.nl/downloads/thesis/thesis.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant