目的:
- 我正在尝试设置并运行
Afl Fuzzer
(关联) 作为在线课程的一部分。
信息:
- 我正在
Ubuntu 14.04
DVD 上播放。 - 视频里老师用的是
BinUtils
2.25
软件包,我选择使用最新版本2.26
。 - 我没有太多编译/制作软件的经验。
我遵循的步骤:
- 已将最新版本下载
BinUtils
至桌面(/home/ubuntu/Desktop
) - 通过终端解压 BinUtils 文件夹
tar
。 - 曾经
make
尝试在桌面上解压的文件夹中创建该程序,我认为这是有效的。 - 下载最新版本
afl-latest.tgz
的这里到/home/ubuntu/
。 - 通过终端解压 afl-latest.tgz
tar
。 - 曾经
make
尝试创建该程序/home/ubuntu/afl-2.08b
,我认为它有效。
问题:
- 该文件夹的使用输出与运行
ls -a
后视频上显示的输出有显著不同(即我没有老师展示的所有文件) 。make
bash: ./configure: No such file or directory
在文件夹中时出错/home/ubuntu/afl-2.08b/
,并尝试运行以下命令:CC=afl-gcc ./config
。该afl-gcc.c
文件存在于文件夹中。我需要尝试吗./configure --prefix=/home/ubuntu/afl-2.08b/
?Cannot compile executables
错误信息。
我尝试过的:
- 尝试找出我应该在哪个 Binutils 文件夹中执行
make
。在线课程没有明确说明,而且有多个名称相似的文件夹。到目前为止,搜索没有结果。 - 在课程聊天区中发布了有关相关视频的 BinUtils 文件夹的问题。
- 向课程提供者发送电子邮件询问 BinUtils 文件夹在哪里。
- 阅读
Readme
文件BinUtils
。 - 阅读
Readme
文件afl-2.08b
。 - 谷歌搜索
cannot compile executables
我不确定这是因为我使用 Ubuntu 终端命令不熟练,还是试图遵循不清楚的指令。
我还没尝试过的:
- 安装最新版本的 gcc
更新:
我最终让它工作了。我认为我应该在 /binutils 文件夹中运行 ./configure。
我还忘了做:
1)在每个文件夹上执行 chmod 777 -R 2)sudo make install
答案1
除非你有特殊原因要从afl
源代码构建,否则我建议使用 Ubuntu Xenial (16.04),它afl
存储库中附带.只需运行这个:
sudo apt-get install afl
现在afl-gcc
将出现在您的中$PATH
,因此您不会收到No such file or directory
错误。
接下来,安装构建所需的依赖项binutils
:
sudo apt-get build-dep binutils
binutils
现在,您可以使用单个命令下载并将源代码构建到当前工作目录中,无需sudo
执行任何操作:
apt-get source -b binutils
下载和构建需要一段时间。它不是最新的源代码,但对于模糊测试来说应该不是必需的。
一旦它们完成构建,您将能够更好地重新编译afl-gcc
并启动模糊测试过程。