- 博客(9)
- 收藏
- 关注
原创 [python] 对2个文件夹进行递归diff (coding中)
import osorig_pathA = Noneorig_pathB = None# flag = 0, pathA and pathB are all valid# flag = 1, pathA is valid, pathB is empty# flag = 2, pathA is empty, pathA is validdef gen_tree(path, flag,...
2019-05-27 09:07:32
409
原创 driller/shellphish安装与简单例程
因为在学习过程中有用到driller,但是安装过程中经常碰到奇奇怪怪的问题,尤其是angr 8发布后全面放弃python2,导致兼容性较差,本人将最后安装成功的过程记录下来,仅供参考。注,时间为2018.11.27,各个仓库采用该时间点的最新源码,安装环境为ubuntu 16。另外,个人推荐使用shellphish的脚本fuzzer来使用driller,一方面功能比较全,性能好,另一方面自己写的...
2018-11-27 23:27:14
3963
5
原创 fairfuzz 论文概要
论文英文标题为:FairFuzz: A Targeted Mutation Strategy for Increasing Greybox Fuzz Testing Coverage在看论文时,简单每个记录了一些重要的点,方便阅读和回顾。如果需要详细了解论文内容,可看论文原文。摘要AFL的局限,覆盖率低。而覆盖率低,会导致有些没有被覆盖代码的bug不会被发现。本文提出2个方法来提高覆盖率。...
2018-11-23 15:36:34
2106
原创 C++面试题&知识点整理
近期在找工作,面的基本上是C/C++相关岗位,整理了一些网上提到的面试题或者知识点,慢慢补充吧,有错误的地方欢迎指出。1. 线程、锁1.1. posix thread 互斥锁创建:动态/静态 属性: 普通锁、嵌套锁、检错锁、适应锁 锁操作:pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock 1...
2018-08-14 20:38:47
2791
1
翻译 T-fuzz--fuzzing by program transformation论文概要
摘要fuzz的问题,有限覆盖率和深度bug挖掘。为了提高覆盖率,常用的方法是依靠不精确的启发式算法或者复杂的输入变异等技术。 T-fuzz通过去掉santiy check来提高覆盖率。T-fuzz利用覆盖率来引导产生输入。 当不能访问到新的路径时,T-fuzz会去掉check,以保证fuzz能继续进行,发现新的路径和bug。 这个方法有2个问题:1.去除check,导致结果不准确并会...
2018-07-05 23:51:40
2479
翻译 Mocov论文概要
标题Mocov: Model Based Fuzzing Through Coverage Guided Technology Mocov:一个基于覆盖率引导的fuzz模型1. 摘要论文观点:盲目的随机的fuzz很难发现隐藏比较深的bug。所以提出了Mocov,一种基于代码覆盖率引导的fuzz技术,该技术借用了插桩和实时反馈来避免盲目性,以此来发现隐藏较深的bug。2. ...
2018-07-04 20:36:50
632
原创 Driller工具分析
1. Driller介绍driller在afl的基础上开发的crash模糊测试工具。Driller在AFL的基础上加入了动态符号执行引擎,当模糊测试发生stuck时,使用动态符号执行去突破这些限制,生成满足fuzz需求的新输入,使得fuzz能够继续执行。 总体上说,Driller结合了AFL的高效、低消耗、快速的优点和动态符号执行探索能力强的优点,又避免了AFL较难突破特殊的边界和动态符号执...
2018-06-24 14:50:49
5857
原创 AFL-fuzz工具分析
网上afl-fuzz的资料比较少,大多是解释afl带的技术白皮书,介绍afl的原理和使用到的技术,但对于想要了解afl内部实现并加以利用和改进还是远远不够的。所以本人在学习afl过程中,把一些重要的东西记录下来,方便阅读和理解afl的代码。如果有写的不对的地方,欢迎指证。1. afl的fuzz工作流程1. main函数先进行初始化和选项处理;2. 执行input文件夹下的预先准备...
2018-06-24 14:48:43
13471
2
转载 Linux多线程及线程间同步
来源:Linux社区 作者:陈国成1、进程和线程的区别进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成,线程与同属一个进程的其他的线程共享进程所拥有的全部资源。地址空间:进程有独立的地址空间,包括文本区域(text region)、数据区域(data region)和...
2018-04-01 14:03:01
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人