符号执行

angr是有名的符号执行工具。众所周知,符号执行最大的问题就是状态爆炸。因此,angr中也内置了很多缓解符号执行的策略。本文主要介绍angr里的一些内置机制是如何缓解状态爆炸的。
本文将解析angr模拟执行部分的源码,来帮助大家了解angr模拟执行的基本原理。
静态分析工具可以很全面地检测软件,但是误报率也很高。人工地去验证这些静态分析报告是费时费力的过程。BovInspector可以去自动化地验证静态分析找出的缓冲区溢出漏洞。本文将介绍BovInspector的基本原理,安装使用方法。
KLEE是基于LLVM的符号执行工具,发表于2008年的OSDI会议上,至今已被引用3000多次,基于该工作的研究也有150多篇,其中有30多个是开源工作。本文从KLEE源码入手,希望能让读者了解klee工作的基本原理。
最近看到关于angr这一框架的分析,但对于某些部分讲的比较模糊,于是就根据个人理解重新写入一篇分析,如果有理解错误的地方,希望大家指正.
上一回我们从angr的__init__.py文件入手,到解析了project.py文件的内容,了解了一个基本的angr项目是怎么一步一步初始化到建立完成开始可以执行操作的,现在我们把目光放回到所有angr项目的基石-CLE类与angr的中间语言VEX-IR语言上,更进一步的理解整个angr系统的工作情况。
​ Angr框架的分析对象是二进制程序,不依赖程序源码,支持x86/64、ARM/AArch64,MIPS等多个架构,之前的版本更新还引入了Java的支持。
iddm带你读论文——SymQEMU:Compilation-based symbolic execution for binaries。
在 2017 年下半年,Byoungyoung 和我讨论如何使模糊测试在翻转条件分支上更高效。
承接上一篇文章,上一章教程我们主要学习了angr的Hook接口的利用,这次我们把剩下的题目一网打尽。