前一段时间研究了著名的house_of_orange,于是趁热打铁赶紧做了一道类似的题目bookwriter以巩固姿势。
0x01题目分析
程序行为:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPR1ENnRUTxcGRNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TM4ITNzczMyIjMyQDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
输入作者名字、添加、查看书页内容、编辑、查看信息。
Add函数如下,作用是为每个page分配内存并将堆地址存放在全局数组heap_address,同时全局数组size存放了对应page的大小,size控制着每次edit输入内容的大小,因此要成功溢出必须覆盖size内容。heap_address与size数组相邻。
Edit函数,作用是修改page内容,重写