[glibc2.23源码]阅读源码&调试,找出free_hook-0x13分配失败的原因
原文中文,约16000字,阅读约需38分钟。
📝
内容提要
本文主要讲述了作者通过阅读源码调试题目时发现的内存分配问题,分析了相关代码并发现问题出在参数存储上。最后,作者总结了整个过程,并表达了对源码阅读的震撼和兴趣。
🎯
关键要点
-
作者第一次阅读源码,调试roarctf的babyheap题目。
-
发现内存分配问题出在参数存储上。
-
通过分析malloc的实现,发现fastbin的索引和实际大小不一致导致错误。
-
malloc_hook和free_hook的参数存储问题影响了内存分配。
-
调用__isoc99_scanf时,参数存储被清零,导致free_hook无法修改。
-
总结了源码阅读的震撼与乐趣,深入理解了内存管理的原理。
🏷️