下面以x86架构为例
缓存结构
堆栈
堆栈内存是以LIFO结构被CPU访问(Last-In,First-Out)
函数返回时需要读取返回地址
会存在堆栈溢出操作
CPU寄存器
x86寄存器指令为32位,4个字节,首个字节为操作符
EBP基指针(访问堆栈)<–一般来说程序访问临时变量就在这里
EIP指令指针(命令跳转)<–覆盖这个指令指针可以执行任意指令
Immunity Debugger
一个二进制程序调试器
可以通过断点等方式,跟踪程序执行过程,利用某些EIP指针实现命令执行
TODO:实操