hu1y40's blog

代码阅读
FUZZ

Trinity 源码阅读

Trinity 源码阅读 0x00 介绍 Trinity是一个Linux内核系统调用fuzz软件。 本文依照文件夹来进行源码阅读。 0x01 shm.c 1.void create_shm(void) 作用 创建了一块共享内存,是系统页面大小的整数倍。页面大小通过getpagesize()获取;共享内存大小通过shm_size = (sizeof(struct shm_s) + page_size - 1) & PAGE_MASK;计算;PAGE_MASK=(~(page_size-1)) 创建的shm为整…

2023年10月7日 0条评论 1717点热度 2人点赞 hu1y40 阅读全文
FUZZ

AFL代码阅读 III

0x00 前言 为了解决使用AFL++进行Fuzzing的部分问题,个人决定对AFL的代码进行阅读,此为第一部分。 0x01 变量 1.1 变量相关 1.1.1 计数 rand_cnt 记录种子使用的次数。减到0换个种子。 queued_paths 队列中测试用例的数目 pending_not_fuzzed 进入队列但是没有执行的数目 cycles_wo_finds 没有新路径的循环次数。 queued_at_start 初始的输入数目 link_or_copy 将第一个参数硬连接到第二个参数。 nuke_resu…

2023年10月7日 0条评论 1902点热度 0人点赞 hu1y40 阅读全文
FUZZ

AFL代码阅读 II

0x00 前言 为了解决使用AFL++进行Fuzzing的部分问题,个人决定对AFL的代码进行阅读,此为第二部分。 0x01 LLVM 1.1 起源 LLVM是底层虚拟机的英文缩写。 根据不同的场景,LLVM可能指示以下内容: LLVM项目/基础架构。此时,LLVM指代多个构建一个完整编译的项目,包括前端后端,优化器,汇编器,链接器,libc++。compiler-rt以及JIT引擎。 基于LLVM的编译器。此时LLVM指代部分或者完全采用LLVM基础架构构建的编译器。例如某个编译器可以采用LLVM作为前端或者后端…

2023年10月7日 0条评论 1765点热度 0人点赞 hu1y40 阅读全文
FUZZ

AFL代码阅读 I

0x00 前言 为了解决使用AFL++进行Fuzzing的部分问题,个人决定对AFL的代码进行阅读,此为第一部分。 0x01 目录结构 插桩模块 afl-as.c,afl-gcc.c:一般插桩模式,针对源码插桩,编译器可以用gcc,clang llvm_mode:llvm插桩模式,针对源码插桩,编译器是哦那个clang qemu_mode:qemu插桩模式,针对二进制文件插桩 fuzzer模块 afl-fuzzer.c:fuzzer实现的核心代码,AFL主体 其他辅助模块 afl-analyze:对测试用例进行分析…

2023年10月7日 0条评论 1497点热度 0人点赞 hu1y40 阅读全文

近期文章

  • 加密算法
  • 2023年度总结
  • RTSPServer StackOverflow Vulnerability
  • FUZZ 总览篇
  • MP4Box 无限循环漏洞

近期评论

  1. EALSEN 发表在 CVE-2023-40477 Winrar RCE漏洞分析
  2. hu1y40 发表在 钓鱼手法
  3. hu1y40 发表在 Cobalt Strike 初探
  4. hu1y40 发表在 CVE-2010-2553 MicrosoftWindows Cinepak 编码解码器解压缩漏洞
书签
  • neko的博客

COPYRIGHT © 2023 hu1y40's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2021009673号-1