shellphish / fuzzer

A Python interface to AFL, allowing for easy injection of testcases and other functionality.
BSD 2-Clause "Simplified" License
638 stars 130 forks source link

In module tracer: AttributeError: 'module' object has no attribute 'SimProcedure' #22

Closed singleghost closed 6 years ago

singleghost commented 7 years ago

I follow the instructions in README.md and use the virtualenv. However when I run the command shellphuzz -w afl_work -d 2 -c 2 -C -f 1 ./pwn2. It tells me that import tracer error. It is strange that because in driller's requirements.txt there is such a line git+https://github.com/angr/tracer.git#egg=tracer, but when I ran pip install driller pip didn't automatically install the tracer for me. So I choose to manually install tracer with command pip install git+https://github.com/angr/tracer.git#egg=tracer. After that I run the command shellphuzz -w afl_work -d 2 -c 2 -C -f 1 ./pwn2 again. This time it prints a different error output.

Traceback (most recent call last):
  File "/home/dddong/.virtualenvs/shellphuzz/bin/shellphuzz", line 10, in <module>
    import driller
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/driller/__init__.py", line 1, in <module>
    from .driller import *
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/driller/driller.py", line 5, in <module>
    import tracer
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/tracer/__init__.py", line 1, in <module>
    from .runner import Runner
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/tracer/runner.py", line 15, in <module>
    from .tracer import TracerEnvironmentError, TracerInstallError
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/tracer/tracer.py", line 11, in <module>
    from .cachemanager import LocalCacheManager
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/tracer/cachemanager/__init__.py", line 1, in <module>
    from .cachemanager import CacheManager
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/tracer/cachemanager/cachemanager.py", line 4, in <module>
    from ..simprocedures import receive
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/tracer/simprocedures/__init__.py", line 1, in <module>
    from .random import FixedRandom
  File "/home/dddong/.virtualenvs/shellphuzz/local/lib/python2.7/site-packages/tracer/simprocedures/random.py", line 10, in <module>
    class FixedRandom(angr.SimProcedure):
AttributeError: 'module' object has no attribute 'SimProcedure'

It seems that tracer module have a desync issue with the angr module. I don't know how to fix it, perhaps downgrade the version of the angr? Hopes for someone's help. Thanks.

zardus commented 7 years ago

We don't really have enough manpower to offer step by step support for the setup of mechaphish components, but we do have a docker container that works for sure: docker run -it shellphish/mechaphish. It has everything you need to get started!

singleghost commented 7 years ago

It works well in docker! The angr version in the docker container is 7.0.0.0rc1, higher than 6.7.7.31 installed by pip. Thanks for your quick reply.