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第三方库


热门话题
java如何使用从PreparedStatement返回的RowId。getGeneratedKeys()?   selenium chrome驱动程序中下一个网站url的java空白页   java如何将参数化匿名类转换为lambda?   java JUnit在AfterClass上获取测试结果   java将动态XML/JSON内容与静态标记化负载进行比较,并检索标记值   java共享一个需要数据持久性的项目[数据库]   java在调用方法时获取意外的参数类型。getParameterTypes()   java如何用jdbc在swing中用另一个字段替换外键?   需要java Jersey Tomcat CDI依赖项解释   java如何生成UML图   java如何编写Jersey rest服务可以通过给定的spring代码访问   SpringMaven存储库管理器Nexus与Java依赖项的Artifactory   java将包从另一个项目导入eclipse中的当前项目   加密Java使用密码加密文件