- 博客(23)
- 收藏
- 关注
原创 Z3求解器学习(一)
引言安装成功后在命令行输入z3 -h可以查看帮助学习如何使用,下面用几个简单的例子熟悉Z3求解器的基本命令(这里我们例子都使用z3 -in的输入形式从标准输入读取表达式):例子1:首先写一个简单的可满足条件的例子(declare-const a Int)(assert (> a 10))(check-sat)(get-model)declare-const申明一个给定类型的常量(Int型的a);assert将一个公式添加到Z3内部堆栈中(a > 10);chec
2020-09-14 15:48:29
1448
原创 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
1849
原创 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
1637
原创 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
2702
5
转载 windows下使用cmake+mingw配置makefile
windows下使用cmake+mingw配置makefile(一) 原创 ...
2020-04-08 10:02:05
766
转载 c语言程序的执行过程(以输出hello,world为例)
1.c源文件的存储任何数据在计算机中都以二进制的样式进行存储,即0和1两种存储表示,那么c源文件中的各种字符要想存储在计算机中作为可执行的指令,那么必须得以二进制0或1的形式存储在其中,因此,需要将c源文件的需要被以某种方式“翻译”成二进制存储进计算机。数据类型表示数字的类型如int,double 等类型在内...
2020-03-20 10:22:48
1126
原创 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
4397
原创 CPAChecker安装
1.CPAChecker是什么?相关连接:CPAChecker官网:https://cpachecker.sosy-lab.org/doc.php官网对应的翻译:https://blog.csdn.net/weixin_41529962/article/details/804270562.CPAChecker安装说明:本文以笔者系统macOS10.14.6为说明,windows...
2019-12-09 09:14:42
1066
转载 国内外主流静态分析类工具汇总
笔者从事该软件安全方面工作,在工作和学习中收集了国内外比较主流的静态分析类工具,供大家参考。大多是资料来自于网络整理,如有不足或欠缺,还请在评论中指出。我进行修正。也欢迎同行多多交流。我使用0标注北大软件CoBOT,因为他是国内第一款基于主流SAST技术的静态分析工具,填补了国内在缺陷检测、安全漏洞软件工...
2019-12-04 10:48:14
5017
原创 KLEE安装
KLEE简介KLEE是一个构建在LLVM编译器之上的符号虚拟机,在UIUC开源许可下可用。有关KLEE的具体细节,可以参考这篇论文:OSDI 2008。安装流程说明:文本安装全程参照官网说明:http://klee.github.io/笔者操作系统为maxOS:Majave,因而首先介绍macOS系统,mac上的安装有两种方式通过Docker安装:首先,Docker是什么:...
2019-12-03 15:26:41
810
转载 七天LLVM零基础入门(Linux版本)------第一天
作者:snsn1984开篇语:学习LLVM的过程是一个漫长而艰巨的过程,需要大量的时间和精力。不仅仅如此,开始的过程也不轻松。一个好的开始就是成功的一半。我结合了自己学习的过程,以及给别人推荐学习的过程,整理出了这个七天LLVM零基础入门的系列博客。主要的目标是让没有LLVM基础的人,经过这一系列的学习,可以完成一些Pass的工作,并且可以成功的自己去自主学习,知道自己该怎么学习,知道自己该...
2019-11-28 14:28:20
193
转载 这可能是最为详细的Docker入门吐血总结
在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,不信的话看看下面这张图。这是我在某招聘网站上看到的招聘 Java开发工程师 的招聘要求,其中有一条熟悉 docker 成为了你快速入职的加分项,由此可见熟悉&...
2019-11-28 11:34:44
175
原创 Python3爬虫从零开始:Beautiful Soup的使用
中文文档:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/#id49基本用法实例1:from bs4 import BeautifulSouphtml ="""<html><head><title>The Dormouse's story</title></head>.
2018-10-21 18:40:44
3047
原创 Python3爬虫从零开始:Xpath的使用
之前我们提取页面信息时使用的是正则表达式,但这比较繁琐,容易出错。XPath提供了简洁明了得路径选择表达式及大量内建函数。可以定位到几乎所有我们想要定位的节点。XPath需要安装lxml库,安装方法。 常用规则nodename 选取此节点的所有子节点 / 从当前节点选取直接子节点 // ...
2018-10-20 21:09:12
5079
原创 Python3爬虫从零开始:正则表达式
正则表达式测试工具:http://tool.oschina.net/regex# 实例1:match()import recontent = 'Hello 123 4567 World_This is a Regex Demo'print(len(content))result = re.match('^Hello\s\d\d\d\s\d{4}\s\w{10}',cont...
2018-10-17 22:15:19
290
原创 Python3爬虫从零开始:抓取天猫电影排行
抓取分析 首先打开要抓取的目标站点:http://maoyan.com/board/4 我们需要爬取得实惠电影名称、主演、评分等信息。可以看到在这个页面只有10部影片,而我们需要爬取前100,也就是需要爬取10页。 滚动到最下方分页列表,打开下一页,可以看到页面的URL发生了变化,多了参数offset=10。根据这个规律,我们可以通过改变URL的offset参数请...
2018-10-17 22:04:33
480
原创 Python3爬虫从零开始:urllib库的使用(二)
URLError来自urllib库的error模块,需要imort error实例1:当运行一个不存在的页面,如果没有异常处理,直接from urllib import request,errorrequest.urlopen('https://cuiqingcai.com/index.htm')则会报错:实例2::加上异常处理机制from urllib imp...
2018-10-16 23:45:32
262
原创 Python3爬虫从零开始:urllib库的使用(一)
官网文档链接:https://docs.python.org/3/library/urllib.html包含4个模块: urllib.request for opening and reading URLs urllib.error containing the exceptions raised by urllib.request urllib.parse for ...
2018-10-16 23:39:09
373
原创 Python3爬虫从零开始:库的安装
抓取网页之后下一步就是从网页中提取信息。提取方式有很多种,可以利用正则表达式进行提请,但是相对而言比较麻烦繁琐。现在有很多强大的解析库供我们使用,如lxml,Beautiful Soupp,pyquery等。本节对其安装进行介绍。 lxml的安装 lxml支持HTML和XML的解析,支持XPath解析方式。在Windos下直接利用pip安装,执行命令行命令: ...
2018-10-14 14:15:50
419
原创 Python3爬虫从零开始:环境配置
话不多说,关于爬虫的作用和介绍网上资料很多,不再累述。“工欲善其事必先利其器”。1.首先到Python官网进行Python安装:官网地址:https://www.python.org/downloads/2.环境变量配置:(1)找到Python3安装路径,我的如下:C:\Users\Administrator\AppData\Local\Programs\Python\Py...
2018-10-13 14:31:27
491
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅