CTF/CTF_Configuration

ModuleNotFoundError: No module named 'elftools.common.py3compat' 오류해결

JUNFUTURE 2023. 9. 13. 01:40

문제점

pwntools 파이썬 라이브러리를 사용해서 익스코드를 열심히 짜보았으나
아래와 같은 오류가 발생했다. (2023.9 기준)

 

pwntools 라이브러리에서 사용하는 elftools라는 라이브러리의 버전이 맞지않아
이를 찾을 수 없어 발생하는문제로 추측된다.

ubuntu@ubuntu-2204:~/jun/hacktheworld/pwn$ python3 basic_bof.py 
Traceback (most recent call last):
  File "/home/ubuntu/jun/hacktheworld/pwn/basic_bof.py", line 1, in <module>
    from pwn import *
  File "/usr/local/lib/python3.10/dist-packages/pwn/__init__.py", line 4, in <module>
    from pwn.toplevel import *
  File "/usr/local/lib/python3.10/dist-packages/pwn/toplevel.py", line 23, in <module>
    from pwnlib import *
  File "/usr/local/lib/python3.10/dist-packages/pwnlib/dynelf.py", line 57, in <module>
    from pwnlib import elf
  File "/usr/local/lib/python3.10/dist-packages/pwnlib/elf/__init__.py", line 9, in <module>
    from pwnlib.elf.corefile import Core
  File "/usr/local/lib/python3.10/dist-packages/pwnlib/elf/corefile.py", line 79, in <module>
    from elftools.common.py3compat import bytes2str
ModuleNotFoundError: No module named 'elftools.common.py3compat'

 

해결책

pyelftools의 버전을 적절히 잘 맞춰주면된다.

# 생략해도 무방
pip uninstall pyelftools -y

# 해당 명령어만 확실히 입력 => 해결가능
pip install pyelftools==0.29

 

참고

드림핵 @Tool: pwntools ModuleNotFoundError: No module named 'elftools.common.py3compat' 에러
https://dreamhack.io/forum/qna/4030