python动态源代码模糊——python中动态模糊的实现。(研究软件)

PyDySoFu的Python项目详细描述


pydysof-python动态源代码模糊器

用于在运行时模糊python函数的库。

贡献者

概述

Pydysofu是一个库,用于在运行时执行Python程序的源代码模糊化。模糊操作是 在可扩展的模糊器库中实现。模糊器可以通过两种方式应用于函数:

  • 通过构造一个面向方面的编程,比如advice dictionary,将函数指针映射到fuzzer (推荐)。
  • 通过使用@fuzz装饰器装饰模糊操作,并使用所需的模糊器参数化。

首选AOP方法,因为这将引用函数的实现和 fuzzers的规范,允许构造同一程序的许多不同的fuzzing。

每个fuzzing操作符都是一个函数,它接受工作流函数的主体(作为语句列表)并返回 模糊的陈述清单

应用程序

Pydysofu最初是作为一种模糊工具开发的,用于模拟社会技术系统中的偶然行为。 但是,还有许多其他可能的应用:

  • 在分布式系统测试中模拟拜占庭式的中断。
  • 分布式系统中复杂行为的模拟。
  • 类人计算中易出错的行为。
  • 模拟由于突发复杂性而不适合于随机分析的物理系统。

可用的模糊器

核心库包括原子和复合模糊器,用于构建更复杂的行为:

  • 身份
  • 使用过滤器将模糊器应用于函数体步骤的子集。提供的过滤器包括:
  • 身份
  • 随机选择
  • n最后步骤
  • 不包括控制结构
  • 反转选择
  • 删除步骤
  • 更换步骤
  • 复制步骤
  • 插入额外步骤
  • 洗牌步骤
  • 应用一系列模糊算子
  • 从概率分布中选择一个随机模糊算子。
  • 有条件地应用fuzz运算符。
  • 替换foreach循环的iterable
  • 替换条件表达式
  • 递归到组合步骤中
  • 交换if块

还提供了一些演示模糊器,用于组合上述核心模糊器:

  • 删除最后一步
  • 复制最后一步
  • 删除随机步骤

教程和示例

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JAXB可以将ArrayList作为逗号分隔的值输出吗?   java使用bcel将一个内部类移动到另一个外部类   java无法识别Lucene MoreLikeThis中的错误   安卓如何在Frida中将动态类转换为json或java文件   java如何使用Struts2在blob类型的列中保存我的sql中的图像?   使用mavenreleaseplugin将java maven发布到nexus 3.0.1失败   java这是正确的方法吗?   Windows上的java Runner不工作   找不到java Hibernate+Spring xml映射   java如何访问WMI查询的数据(通过JNA)SAFEARRAY结果   java如何在本地导入库而不使用Maven中的Nexus?   java渐变本地项目依赖项   使用URLFetchService/URL Google appengine for java