KLEE
ChaosLee_
这个作者很懒,什么都没留下…
展开
-
KLEE学习——实例3
说明:这个例子展示了如何使用KLEE来寻找迷宫游戏的所有解决方案,是对如何使用符号执行来生成输入的一个很好的说明。示例官网原文见:Solving a maze with KLEE-实例中的迷宫大小为11X7,玩家通过’w’,‘s’,‘d’,'f’操作上下左右,从X出发,要找到路径达到出口#。如图所示:源代码在:https://pastebin.com/6wG5stht1.首先我们尝试手动寻找答案假设我们的代码存放在***maze.c***中,我们将其编译:$ gcc maze.c -原创 2020-07-06 14:45:37 · 1773 阅读 · 0 评论 -
KLEE学习——实例2
该例子通过符号化输入字符串来完成正则式匹配,实例来源见官网:Testing a Simple Regular Expression Library1.编译生成LLVM位码源码所在目录为example/regexp,到该目录下执行:$ clang -I ../../include -emit-llvm -c -g -O0 -Xclang -disable-O0-optnone Regexp.c参数含义在第一个例子中有描述,不再累述。2.用KLEE执行代码执行命令:$ klee --onl原创 2020-07-06 14:19:28 · 1562 阅读 · 0 评论 -
KLEE学习——实例1
下面开始根据KLEE官方给出的示例进行学习,闲话不多说,开始第一个示例的学习:Testing a small function这个例子是引导我们熟悉使用klee测试简单函数所需的主要步骤,代码在/examples/get_sign目录下.简单函数的代码如下,判断x的是0、正数、还是负数。int get_sign(int x) { if (x == 0) return 0; if (x < 0) return -1; else return 1;}主要分原创 2020-07-06 10:23:06 · 2382 阅读 · 5 评论 -
KLEE入门教程
本文1.首先介绍创建KLEE Docker容器的方法;2.然后介绍官网给出的一个指导实例;3.最后给出程序测试实例。创建KLEE Docker容器相关Dokcer的知识可以参见官网:https://docs.docker.com/get-started/1.创建临时KLEE Docker容器$ docker run --rm -ti --ulimit='stack=-1:-1' ...原创 2019-12-09 15:45:26 · 4226 阅读 · 0 评论 -
KLEE安装
KLEE简介KLEE是一个构建在LLVM编译器之上的符号虚拟机,在UIUC开源许可下可用。有关KLEE的具体细节,可以参考这篇论文:OSDI 2008。安装流程说明:文本安装全程参照官网说明:http://klee.github.io/笔者操作系统为maxOS:Majave,因而首先介绍macOS系统,mac上的安装有两种方式通过Docker安装:首先,Docker是什么:...原创 2019-12-03 15:26:41 · 744 阅读 · 0 评论