摘要: Windows下闭源fuzz的简单记录 前言 最近我使用动、静态分析加闭源fuzz在企鹅的产品挖到了多个二进制漏洞,在这简单记录部分所得。 简介 众所周知,闭源fuzz有几个主要难点: 路径反馈-提高fuzz效率 漏洞检测机制-检测堆漏洞 无源码 本文将非常简单的说明怎么试图缓解。 路径反馈 我的做 阅读全文
posted @ 2024-03-16 14:32 7resp4ss 阅读(80) 评论(0) 推荐(0) 编辑
摘要: Angr-Learn-0x5 注意 本文可以理解为官方文档的简单翻译+一部分个人理解 模拟管理 模拟管理器可让您以灵活的方式处理多个状态。状态被组织成“stashes”,您可以根据需要向前、过滤、合并和移动。例如,这允许您以不同的速率步进两个不同的状态存储,然后将它们合并在一起。大多数操作的默认存储 阅读全文
posted @ 2024-03-16 14:31 7resp4ss 阅读(9) 评论(0) 推荐(0) 编辑
摘要: Angr-Learn-0x4 注意 本文可以理解为官方文档的简单翻译+一部分个人理解 程序状态 本篇主要讲的是程序状态,比如内存与寄存器等,然后简单介绍angr操作的基本概念。 比如说如何读写内存: import angr, claripy >>> proj = angr.Project('/bin 阅读全文
posted @ 2024-03-16 14:31 7resp4ss 阅读(12) 评论(0) 推荐(0) 编辑
摘要: Angr-Learn-0x3 注意 本文可以理解为官方文档的简单翻译+一部分个人理解 符号执行与约束求解 angr之所以强大并不因为它是一个模拟器,而是它能使用符号变量来执行。使用符号变量算术运算将产生一颗运算树(AST)。AST可以转换为SMT求解器的约束。 使用位向量 例子: # 64-bit 阅读全文
posted @ 2024-03-16 14:31 7resp4ss 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Angr-Learn-0x2 注意 本文可以理解为官方文档的简单翻译+一部分个人理解 Loading a Binary 之前在Angr-Learn-0x1中,我们简单提到了CLE("CLE Loads Everything"),它的主要功能就是获取二进制依赖库来提供给angr。 装载器 这个代码简单 阅读全文
posted @ 2024-03-16 14:31 7resp4ss 阅读(16) 评论(0) 推荐(0) 编辑