You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux系统下AFL++ IoT固件模糊测试失败求助

解决AFL++ IoT固件模糊测试中的core_pattern错误问题
  • 修正环境变量传递方式:
    用sudo执行命令时,普通用户的环境变量不会自动继承,之前添加的AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES没生效就是这个原因。试试以下两种写法:

    1. 直接在sudo后声明环境变量:
      sudo AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1 QEMU_LD_PREFIX=./squashfs-root/ ../AFLplusplus/afl-fuzz -Q -i input-xml/ -o output-xml/ -- ./squashfs-root/usr/sbin/xmlparser1 -f @@
      
    2. 先导出变量再用-E参数保留环境变量:
      export AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1
      sudo -E QEMU_LD_PREFIX=./squashfs-root/ ../AFLplusplus/afl-fuzz -Q -i input-xml/ -o output-xml/ -- ./squashfs-root/usr/sbin/xmlparser1 -f @@
      
  • 直接修改core_pattern(支持临时/永久生效):
    如果不想用忽略崩溃的环境变量,直接修改内核参数更彻底:

    • 临时生效(重启后失效):
      sudo sh -c 'echo core > /proc/sys/kernel/core_pattern'
      
    • 永久生效:
      编辑/etc/sysctl.conf文件,添加一行:
      kernel.core_pattern = core
      
      然后执行sudo sysctl -p让配置立即生效。
  • 检查文件权限:
    确保固件文件系统和目标二进制有足够权限,避免AFL++无法正常运行目标程序:

    sudo chmod -R 755 ./squashfs-root/
    

内容的提问来源于stack exchange,提问作者saman naz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 13:39:40