符号执行

简介: https://www.zhihu.com/question/38727250 https://github.com/saswatanand/symexbib 首先随便找个开源Symbolic Execution工具,看自带的教学,从自带的例子(如果有)开始试着玩玩各种功能。

https://www.zhihu.com/question/38727250

https://github.com/saswatanand/symexbib


首先随便找个开源Symbolic Execution工具,看自带的教学,从自带的例子(如果有)开始试着玩玩各种功能。可选的工具其他人已经说差不多了,再提一个最近才开源的angr:
angr, a binary analysis framework
DARPA CGC胜者组!融合了最近几年的数种优化技术!有能用的Veritesting真令人羡慕;w;

如果想要深入理解,玩的同时可以看看这方面的论文。虽然市面上有多个开源的Symbolic Execution工具,但是基本原理都差不多,所以看个一两篇就够了。嫌整篇论文太长的话也可以找篇最近的Symbolic Execution论文看看Background的部分。

其他一些我所知道的开源Symbolic Execution工具:
KLEE
Overview - S²E: A Platform for In-Vivo Analysis of Software Systems
CREST by jburnim
FuzzBALL: Vine-based Binary Symbolic Execution


作者:芋魔人X
链接:https://www.zhihu.com/question/38727250/answer/109401548
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

目录
相关文章
|
6月前
|
存储 网络协议 安全
必知的技术知识:DNS资源纪录(ResourceRecord)介绍
必知的技术知识:DNS资源纪录(ResourceRecord)介绍
|
7月前
|
编译器 C++ 开发者
【Conan 入门教程 】使用Conan 2.X和Autotools高效构建C/C++项目
【Conan 入门教程 】使用Conan 2.X和Autotools高效构建C/C++项目
362 1
|
7月前
|
设计模式 开发框架 监控
精准解读桥接模式-用桥接模式构建可扩展的软件系统
桥接模式是一种设计模式,旨在将抽象和实现部分分离,使它们可以独立地变化。这种模式的目的是提高系统的灵活性和可扩展性。桥接模式的主要思想是将抽象和实现通过一个桥接类连接起来,从而实现它们的解耦。在这种模式中,抽象部分可以根据需要进行扩展,而实现部分可以自由地变化,而不影响彼此。桥接模式在处理多个独立变化的维度、解耦继承关系、处理平台差异和扩展现有系统等方面具有广泛的应用领域。通过使用桥接模式,可以提高系统的可维护性和可扩展性,使系统更加灵活和适应变化。通过桥接模式,将系统中的抽象部分与实现部分解耦,从而...
193 0
精准解读桥接模式-用桥接模式构建可扩展的软件系统
|
7月前
|
设计模式 算法 Java
探索设计模式的魅力
设计模式是软件开发中的一种指导性概念,它提供了一套被广泛接受的解决方案,用于常见的设计问题。设计模式有助于提高软件的可重用性、可扩展性和可维护性,并促进团队之间的沟通。以下是一些常见的设计模式:这些只是设计模式中的一部分,每种模式都有其适用的场景和用法。设计模式帮助开发人员解决常见的设计问题,并提供了一种标准化的方法,促进了代码的可读性和可重用性。
119 1
|
7月前
|
存储 设计模式 安全
探索设计模式的魅力:备忘录模式揭秘-实现时光回溯、一键还原、后悔药、历史的守护者和穿越时空隧道
备忘录模式是一种行为设计模式,允许在不破坏对象封装性的情况下保存和恢复对象的内部状态。该模式通过创建备忘录对象来存储发起人的状态信息,发起人可根据需要创建和恢复备忘录。管理者则负责保存和管理备忘录,但无法访问其内容。备忘录模式简化了状态管理,支持撤销操作和历史记录功能,提高了系统的灵活性和可用性。在实际应用中,备忘录模式常用于文本编辑器、游戏和数据库事务处理等场景,确保对象状态的安全恢复和有效管理。通过备忘录模式,开发人员可以更好地控制对象状态的变化,提升软件系统的健壮性和用户体验。
152 1
探索设计模式的魅力:备忘录模式揭秘-实现时光回溯、一键还原、后悔药、历史的守护者和穿越时空隧道
|
7月前
|
存储 缓存 算法
【Conan 入门教程 】了解 Conan2.1 中默认生成器的作用
【Conan 入门教程 】了解 Conan2.1 中默认生成器的作用
161 1
|
7月前
|
Ubuntu 编译器 C++
【Conan 入门教程 】在Ubuntu上使用Conan编译C++第三方库:一站式解决方案
【Conan 入门教程 】在Ubuntu上使用Conan编译C++第三方库:一站式解决方案
1760 1
|
7月前
|
存储 缓存 编译器
【conan 入门教程】介绍 conanfile.py中的默认方法的作用
【conan 入门教程】介绍 conanfile.py中的默认方法的作用
499 0
|
缓存 NoSQL 前端开发
秒杀场景:如何通过 Redis 减库存?
秒杀场景:如何通过 Redis 减库存?
410 0
|
Java
Java并发之线程组ThreadGroup介绍
Java并发之线程组ThreadGroup介绍
252 0