152334H/pwnscripts

Incompatibility with version 1.10.0 of module six?

sealmove opened this issue · 2 comments

When running pwnscripts I get:

Traceback (most recent call last):
  File "/home/sealmove/.virtualenvs/attack/lib/python3.9/site-packages/pwnlib/elf/elf.py", line 360, in __init__
    self._populate_plt()
  File "/home/sealmove/.virtualenvs/attack/lib/python3.9/site-packages/pwnlib/elf/elf.py", line 1041, in _populate_plt
    res = emulate_plt_instructions(self,
  File "/home/sealmove/.virtualenvs/attack/lib/python3.9/site-packages/pwnlib/elf/plt.py", line 52, in emulate_plt_instructions
    log.debug("%#x -> %#x", pc, target)
  File "/home/sealmove/.virtualenvs/attack/lib/python3.9/site-packages/pwnlib/log.py", line 388, in debug
    self._log(logging.DEBUG, message, args, kwargs, 'debug')
  File "/home/sealmove/.virtualenvs/attack/lib/python3.9/site-packages/pwnlib/log.py", line 292, in _log
    msg = six.ensure_text(msg)
AttributeError: module 'six' has no attribute 'ensure_text'
>>> import six
>>> print(six.__version__)
1.10.0

I realized this is only a problem when I am using the virtual env I've set up for angr. angr probably uses different versions for some packages. I'll still leave this open since other people might have the same problem when trying to combine pwnscripts with angr.

See https://github.com/Gallopsled/pwntools/blob/2b71971821f3357bd215c9d61ec38642d845eb1a/setup.py#L64

pwntools (which I don't own) requires six>=1.12.0. Not much I can do there. You might want to duplicate this issue over there if you think it'll be helpful for others.