部分技术性问题解惑(1 / 1)
东方阅读网【www.dfmsc.com】第一时间更新《从零开始的CTFer生活》最新章节。
记录一些可能会出现疑问的地方,也欢迎大家指出问题~
0x00.第六章中为什么是在118个字符出现 flt?不是刚刚覆盖完ld rbp?为什么还会再等待输入?
答:经笔者调试输入118字符后在从i中返回到__lib_trt_i之后会有一个跳转重新跳回i函数(从栈上取地址,刚好是i),因此执行流又重新走回get,最终在exit中处理i_file时触发 flt
为什么会重新调用i?因为get函数默认会在输入末尾添加一个\0,形成字符串,因此在我们刚覆盖完ld rbp时其实就已经prtil verrite掉返回地址了,因此又会跳转到__lib_trt_i前面的部分重新调用i
东方阅读网【www.dfmsc.com】第一时间更新《从零开始的CTFer生活》最新章节。