南京大学计算机基础(四)踩坑笔记

第六周 缓冲区溢出章节

bang问题:

rumble问题:

仔细分析汇编和栈的调用,这道题挺难的!【搞了我3个小时,真的别只用gdb,用ida静态结合gdb动态才是正解。】

  • 用ida标一标,其中的write_here是为了随机地址防止你直接push的。write_here存储的字符串是你大写的cookie值,比如我-u 1234的cookie是0x6eecf91d,那么这里就是"6EECF91D"。
  • 然后注意的是memcmp比较的是地址,所以你getbuf中应该push一个地址。
  • 缓冲区的输入应该长成这样,注意到我的"6EECF91D"的十六进制是0x43454536 0x44313946【注意要颠倒过来】。
  • 然后push %esp表示当前地址。
  • 注意到栈帧中第一个参数是$ebp+8,所以你要压入一个"返回地址",我这里压的是0x11111111占位。
相关推荐
logiciel6 天前
Ada语言嵌套子程序之间参数传递的逆向分析
ida·逆向分析
赖small强8 天前
【Linux C/C++开发】 GCC -g 调试参数深度解析与最佳实践
linux·c语言·c++·gdb·-g
ベadvance courageouslyミ8 天前
GDB相关操作
gdb
Kyle01238 天前
共享代码浮动与编制浮动程序的含义与机制
计组
Kyle012311 天前
Cache缺失、缺页和TLB缺失的处理机制解析
操作系统·408·计组
我在人间贩卖青春15 天前
GDB调试方法及命令
gdb·调试·gdb调试
代码AC不AC18 天前
【Linux】调试器 gdb / cgdb
linux·gdb·调试器·cgdb
介一安全1 个月前
【Frida Android】基础篇15(完):Frida-Trace 基础应用——JNI 函数 Hook
android·网络安全·ida·逆向·frida
岑梓铭2 个月前
考研408《计算机组成原理》复习笔记,第五章(5)——CPU的【指令流水线(含中断)】
笔记·考研·408·计算机组成原理·计组
岚天start2 个月前
Linux内核coredump分析方案
linux·运维·服务器·gdb·coredump·堆栈·内存快照