对于这一题(出自iscc2017)我是又爱又恨,爱是因为它帮助我去学习了一直以来没去实践过的堆分配策略、double free漏洞等相关的经典知识,恨是因为个人水平有限被这道题整整虐了五天,每次觉得突破了一个关卡后面又等着一个坑,让人欲罢不能,最终也实在无奈又好奇地去求教一些大佬才得以解惑,也着实受益匪浅。下面分享一下这题的心路历程吧~
先看一下程序的功能,每次会输出包含4个选项的菜单,分别是1、create(创建内存堆块并保存输入数据)2、read(读取某堆块内存的数据)3、free(释放某堆块的内存数据)4、bye(退出):








