ebp:作为函数调用的基址地址,指向函数在栈的起始位置
esp:指向当前执行函数的栈顶指针
eip:指向下一个将要执行的cpu指令在内存中的位置
如果怀疑一个dump为堆栈溢出,可以通过观察这几个指针所指向的内存值,判断是否为堆栈溢出。
指令:r ebp,查看寄存器的指针地址
指令:dd ebp,查看ebp指针指向及附近的内存数据
指令:dd 上一步的首个内存地址,如果为??内容,则说明ebp指向的内存已经被改写,同理也可观察esp和eip的内存情况
ebp:作为函数调用的基址地址,指向函数在栈的起始位置
esp:指向当前执行函数的栈顶指针
eip:指向下一个将要执行的cpu指令在内存中的位置
如果怀疑一个dump为堆栈溢出,可以通过观察这几个指针所指向的内存值,判断是否为堆栈溢出。
指令:r ebp,查看寄存器的指针地址
指令:dd ebp,查看ebp指针指向及附近的内存数据
指令:dd 上一步的首个内存地址,如果为??内容,则说明ebp指向的内存已经被改写,同理也可观察esp和eip的内存情况