帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:克隆  CORE  Basic  fuzzer  
A clone of (the basic core) of AFL fuzzer

  • 源代码名称:NaFl
  • 源代码网址:http://www.github.com/carlosgprado/NaFl
  • NaFl源代码文档
  • NaFl源代码下载
  • Git URL:
    git://www.github.com/carlosgprado/NaFl.git
  • Git Clone代码到本地:
    git clone http://www.github.com/carlosgprado/NaFl
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/carlosgprado/NaFl
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • NaFl

    常见问题解答

    • 为什么 NaFl?

      • NaFl 意味着 sarcastically: 这完全不是 AFL"
      • 注:当我说AFL时,我指的是 AFL v.0.1 α ;)
    • 是什么?

      • 它是代码覆盖率 fuzzer的Prototype。 我想在 Windows 中使用 AFL。 不幸的是,一切看起来都是非常重要的,所以我决定从底层( 并学习一些东西) 来实现核心原则

      • 它利用动态二进制检测( DBI ) 来测量 blackbox Windows 二进制文件中的代码覆盖率。

        • 有趣的"fact的fact是我最初的研究项目,但他( 她) beat他( 她的她) ) 工作的这里。
        • NaFl 可以被认为是这与一些 python 核心实现简单的fuzzing逻辑
    • 为什么代码会消耗这么多?

      • 不要让物理学家做计算机科学。 或者其他的事情:

    安装

    NaFl 是用 python ( 核心层) 和 C/C++ ( DBI内核) 编写的。 大多数安装都很简单:

    • 克隆项目

    • 有两个主要目录:

      • NaFlCore: 在安装时无需执行任何操作
      • PinTool: 包含一个文件"mypintool。cpp"
      • 编译自己的PinTool是一种痛苦,所以我知道的大多数人都使用这个小技巧:
        • cd cd Pin_directory sourcetoolsMyPinTool
        • 用你的文件覆盖 MyPinTool.cpp 文件
        • 在 Visual Studio 中打开项目( 我使用 vs 社区 2013,非常推荐使用这个项目)
        • 生成项目
          • 注意:如果你在抱怨SafeSEH时出错,请在链接器选项中停用它。
          • 右键单击-> 属性-> 配置属性-> 链接器-> 所有选项
          • 搜索"映像具有安全异常处理程序"并将它的设置为" no (/safeseh: 否)"
        • 将生成的DLL移动到你选择的目录( 你也可以将它的重命名)
    • 那应该可以。

    依赖项

    • python 2.7. x ( 在这里获取 it )

      • 推荐的python 2.7.9 + ( 包括 pip )
    • 英特尔引脚( 在这里下载 )

    这些 python 模块是客户端的一部分:

    • Winappdbg ( pip install winappdbg )
      • 这是 awesome,请在这里查看更多的
    • Sqlalchemy ( pip install sqlalchemy )

    服务器需要以下 python 模块:

    • Tornado ( pip install tornado )
    • Twisted ( pip install twisted )

    运行

    一旦安装,运行非常简单。

    • 运行服务器收集信息和崩溃文件

      • python serverxmlrpc-server.py
    • 编辑配置文件

      • 引脚位置和相应的PinTool
      • 要分析的目标二进制文件的位置
    • 运行内核

      • python NaFlCore.py

    已经在

    此时,NaFl已经在以下配置中进行了测试:

    • Windows 7 x64

    未来增强

    • 定期评估队列中的突变质量

      • 删除那些在很长时间内没有任何意义的东西?
      • 修剪突变?
    • 对受害者二进制本身的static 分析

    • 样品的预分析

      • 查找高熵区域( 不感兴趣)
      • 查找ASCII区域
      • 比较样本以查找固定标记( PNG,等等 )

    谢谢

    这是在我的工作时间,因此由我的当前雇主,西门子股份公司支付。

    是,我们比洗衣机多。 ! ;)

    感谢你允许这里 public 版本。



    文章标签:CORE  Basic  克隆  fuzzer  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语