![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
reverse
文章平均质量分 79
永远在深夜里就好了
这个作者很懒,什么都没留下…
展开
-
【CTF】【PWN】胎教向babyfengshui_33c3_2016题解
跳过checksec,我们直接分析程序。我这里把这些函数命名为add,delete,display,edit。先看add。就是创建两个chunk,一个的地址存放在s里,一个的地址存放在v2里。然后把s存在v2指向的地址里,用一个名为ptr的数组存放v2。可以看出来,我们创建了两个chunk。按顺序命名为chunk1和chunk2.我们把这两个chunk看作是一个user的两部分。显然,chunk1存放了user的内容,chunk2存放了user的内容的地址和user的名字。其中name原创 2021-10-12 19:42:24 · 296 阅读 · 3 评论 -
【CTF】【PWN】【UAF】【萌新友好向wp】hitcontraining_uaf
这题的反编译有点阴间。这是add函数,add一次会malloc两个chunk。同时要注意,这里的notelist是一个二维数组。notelist[i]表示的其实是notelist[i][0].后面还有一个notelist[i][1]。我们看notelist[i],他被赋值为print_note_content这个地址的函数。notelist[i][1]才是真正存放chunk的content的地方。为什么要把notelist[i]赋值为print_note_content这个地址的函数呢?下面这原创 2021-10-08 00:10:59 · 391 阅读 · 3 评论