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