[glibc2.23源码]阅读源码&调试,找出free_hook-0x13分配失败的原因

💡 原文中文,约16000字,阅读约需38分钟。
📝

内容提要

本文主要讲述了作者通过阅读源码调试题目时发现的内存分配问题,分析了相关代码并发现问题出在参数存储上。最后,作者总结了整个过程,并表达了对源码阅读的震撼和兴趣。

🎯

关键要点

  • 作者第一次阅读源码,调试roarctf的babyheap题目。
  • 发现内存分配问题出在参数存储上。
  • 通过分析malloc的实现,发现fastbin的索引和实际大小不一致导致错误。
  • malloc_hook和free_hook的参数存储问题影响了内存分配。
  • 调用__isoc99_scanf时,参数存储被清零,导致free_hook无法修改。
  • 总结了源码阅读的震撼与乐趣,深入理解了内存管理的原理。
➡️

继续阅读