这个问题遇到好多次了,这次记录下来了吧
使用ropgadget时报错:
Traceback (most recent call last):
File "/usr/local/bin/ROPgadget", line 15, in <module>
import ropgadget
File "/usr/local/lib/python2.7/dist-packages/ropgadget/__init__.py", line 14, in <module>
import ropgadget.binary
File "/usr/local/lib/python2.7/dist-packages/ropgadget/binary.py", line 13, in <module>
from ropgadget.loaders.elf import *
File "/usr/local/lib/python2.7/dist-packages/ropgadget/loaders/__init__.py", line 13, in <module>
import ropgadget.loaders.elf
File "/usr/local/lib/python2.7/dist-packages/ropgadget/loaders/elf.py", line 13, in <module>
from capstone import *
File "/usr/local/lib/python2.7/dist-packages/capstone/__init__.py", line 230, in <module>
raise ImportError("ERROR: fail to load the dynamic library.")
ImportError: ERROR: fail to load the dynamic library.
原因是缺少so文件。
解决方案:
1. 查看capstone的安装目录:
$ pip show capstone
Name: capstone
Version: 3.0.4
Summary: Capstone disassembly engine
Home-page: http://www.capstone-engine.org
Author: Nguyen Anh Quynh
Author-email: aquynh@gmail.com
License: UNKNOWN
Location: /usr/local/lib/python2.7/dist-packages
Requires:
Required-by: ROPGadget, pwntools
2. 移动
/usr/local/lib/python2.7/dist-packages/usr/lib/python2.7/dist-packages/capstone/libcapstone.so到/usr/local/lib/python2.7/dist-packages/capstone/中。