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

浙公网安备 33010602011771号