最近在用 AFL++ 的时候编译完成后遇到如下的报错:
afl-fuzz: error while loading shared libraries: libpython3.9.so.1.0: cannot open shared object file: No such file or directory
然后发现是因为编译时用的Python环境是通过miniconda构建的虚拟环境,所以 Python 3.9 可能安装在了一个非标准的路径下,而这个路径没有被包含在动态链接器的搜索路径中
所以在执行前需要指定一下动态链接器的搜索路径
LD_LIBRARY_PATH="$(realpath ~/miniconda3/envs/qiling/lib):${LD_LIBRARY_PATH}" \
AFL_AUTORESUME=1 AFL_PATH="$(realpath ./AFLplusplus)" PATH="$AFL_PATH:$PATH" \
afl-fuzz -i afl_inputs -o afl_outputs -U -- python ./fuzz_x8664_linux.py @@
Over