我可是会飞的啊 主要方向:re,pwn

Archives

2024 / 01

__libc_free void __libc_free(void *mem) { mstate ar_ptr; mchunkptr p; /* chunk corresponding to mem */ // 如果释放0内存,直接返回 if (mem == 0) /
_int_malloc 申请tcachebin的函数是__libc_malloc,如果tcachebin分配不了,就会调用_int_malloc进行接下来的分配 _int_malloc优先分配fastbin中的chunk: /* If the size qualifies as
__libc_free void __libc_free(void *mem) { mstate ar_ptr; mchunkptr p; /* chunk corresponding to mem */ // 如果释放0内存,直接返回 if (mem == 0) /
tcache_init:初始化 tcache_perthread_struct static void tcache_init(void) { mstate ar_ptr; // arena void *victim = 0; const size_t bytes = si

2023 / 12

编译可进行源码级调试的libc库 手动操作过程 下载对应版本的libc源码:Index of /gnu/glibc,解压 创建两个目录:glibc-2.xx_build,glibc-2.xx_out 进入glibc-2.xx_build目录 执行: ../glibc-2.xx/configure -
AFL 复现 Crash 样本 本段选自 Fuzzing 101 下载xpdf: wget https://dl.xpdfreader.com/old/xpdf-3.02.tar.gz tar -xvzf xpdf-3.02.tar.gz 使用AFL编译器插桩编译:AFL通过对编译器进行封装来完成

2023 / 11

附件给了个exe,是pyinstaller打包的结果,没操作过这种程序,赛场上也没做出来,现在再来做一做(输在了没准备工具上) 环境准备 解包需要两个工具 pyinstxtractor.py:exe -> pyc github地址:extremecoders-re/pyinstxtractor: P
题目分析 只给了个源码.c文件:应该只是逻辑问题 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <string.h> #include <stdint.h> #include <ctype.h> #inclu
题目分析 给出了程序和源码 ➜ pwn-Unsubscriptions Are Free pwn checksec vuln [*] '/home/selph/Downloads/PicoCTF/pwn-Unsubscriptions Are Free/vuln' Arch: i3
题目分析 无PIE,有NX,无Canary,一眼疑似栈溢出 [*] "/home/selph/Downloads/PicoCTF/pwn-Here's a LIBC/vuln" Arch: amd64-64-little RELRO: Partial RELRO
题目分析 题目给了三个文件,libc版本是2.27,其中给了个makefile: ➜ pwn-Cache Me Outside cat Makefile all: gcc -Xlinker -rpath=./ -Wall -m64 -pedantic -no-pie --std=gnu99 -
题目分析 pwn题目的一种形式是,直接给源码,本题就是: #include <stdlib.h> #include <stdio.h> #include <string.h> #include <time.h> #define FLAG_BUFFER 128 #define MAX_SYM_LEN

2023 / 10

‍ 分析 这里给了个超长的lua脚本,格式化之后,首先看到的就是一个解密函数: local v0 = string.char; local v1 = string.byte; local v2 = string.sub; local v3 = bit32 or bit
题目分析 int __cdecl main(int argumentCount, const char **arguments, const char **environmentVariables) { __int64 buffer[9]; // [rsp+0h] [rbp-70h] BYREF
题目分析 直接看代码: int __cdecl main(int argumentCount, const char **arguments, const char **environmentVariables) { __int64 buffer[9]; // [rsp+0h] [rbp-70h