Loading

随笔分类 -  glibc

摘要:how2heap -- glibc 2.23 -- fastbin_dup_consolidate.c #include <stdio.h> #include <stdint.h> #include <stdlib.h> int main() { void* p1 = malloc(0x40); v 阅读全文
posted @ 2020-11-11 17:33 scriptk1d 阅读(586) 评论(0) 推荐(0)
摘要:__lib_free void __libc_free (void *mem) { mstate ar_ptr; mchunkptr p; /* chunk corresponding to mem */ // 检查 malloc.h 中有没有定义 __free_hook 函数 // 定义的话则执行 阅读全文
posted @ 2020-10-16 16:01 scriptk1d 阅读(511) 评论(0) 推荐(0)
摘要:CTF-pwn-tips-zh_CN 原项目(英语):https://github.com/Naetw/CTF-pwn-tips 为了说明白,我做了不少改动 目录 缓冲区溢出 在 gdb 中查找字符串 让程序运行在指定端口上 在 libc 中查找特定的函数偏移量 在共享库里面查找/bin/sh或者s 阅读全文
posted @ 2020-07-13 17:44 scriptk1d 阅读(1505) 评论(0) 推荐(0)
摘要:malloc_par via:https://elixir.bootlin.com/glibc/glibc-2.26/source/malloc/malloc.c#L1783 每个分配区是 struct malloc_state 的一个实例, ptmalloc 使用 malloc_state 来管理 阅读全文
posted @ 2020-07-01 17:05 scriptk1d 阅读(558) 评论(0) 推荐(0)
摘要:从 glibc2.26 开始引入了一个 freed chunk 管理机制:tcache -- thread local caching 还是那句话:Read The F**king Source Code glibc 版本:2.26,via:https://elixir.bootlin.com/gl 阅读全文
posted @ 2020-06-30 18:04 scriptk1d 阅读(431) 评论(0) 推荐(0)
摘要:```static void_int_free (mstate av, mchunkptr p, int have_lock){ INTERNAL_SIZE_T size; /* its size (要 free 的 chunk 的大小)*/ mfastbinptr *fb; /* associated fastbin (关联的 fastbin)*/ m... 阅读全文
posted @ 2020-05-22 22:43 scriptk1d 阅读(507) 评论(0) 推荐(0)
摘要:_int_malloc 的参数: mstate: av 是指向记录当前堆状态的结构体的指针 bytes 就是要申请的 chunk 的大小(并不是用户 malloc 的大小) 下面提到的 nb 变量是一个 size_t ,也就是 一个 unsigned int 类型的变量,代表 malloc 的 ch 阅读全文
posted @ 2020-05-22 22:41 scriptk1d 阅读(489) 评论(2) 推荐(0)
摘要:unlink 在 _int_free 中的调用是这样的:unlink(av, p, bck, fwd); unlink 的原理(其实就是链表的操作) 1. 先把传入的块 P 的 fd 和 bk 指针存到参数的 FD ,BK,这两个参数其实是 chunk pointor。 2. 检查 自己的 meta 阅读全文
posted @ 2020-05-22 22:34 scriptk1d 阅读(330) 评论(0) 推荐(0)
摘要:昨晚脑子抽了,突然想扒扒 映射文件 刚刚开始我是尝试 mmap 一个文件,实现对内存的读写达到读写文件内容的目的,踩了几个坑 1. 我想的是读写,然后我看文章的时候我看到的是:用 open 得到一个 文件描述符,demo 上写的是 我信了然后我也照写,后面我发现我怎么都不能映射成功,后面我才意识到 阅读全文
posted @ 2020-05-22 22:33 scriptk1d 阅读(1450) 评论(2) 推荐(2)
摘要:刚刚换了新系统(原本这些实验是在另一台电脑上做的) 今天编译 glibc,遇到的麻烦,以及解决方案 编译系统一样版本的 glibc 没有遇到问题,直接编译安装成功 这些问题是我在编译 glibc2.23 的时候遇到 1. 因为 汇编器 版本不同出的问题 这个问题我 patch 源码 我查到的 完整的 阅读全文
posted @ 2020-05-22 22:28 scriptk1d 阅读(1424) 评论(0) 推荐(0)