一.函数调用 1.函数调用过程涉及到的寄存器: (1)esp:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。 (2)ebp:基址指针寄存器(extended base pointer),其内存放着一个指针,该指针永远指向系 ...
分类:
其他好文 时间:
2018-05-05 11:19:07
阅读次数:
176
练习地址:https://exploit-exercises.com/protostar/ 我们知道,当程序执行进入一个新的函数时,系统会为函数在栈上分配一块空间,用来存储函数中使用的参数和局部变量信息,用寄存器ESP和EBP指示空间范围,当从函数返回时,这块空间也会被抛弃,实际上就是修改ESP和... ...
分类:
其他好文 时间:
2018-04-30 16:42:52
阅读次数:
224
delphi: 55 PUSH EBP 8BEC MOV EBP,ESP 83C4 F0 ADD ESP,-10 B8 A86F4B00 MOV EAX,PE.004B6FA8vc++ 55 PUSH EBP 8BEC MOV EBP,ESP 83EC 44 SUB ESP,44 56 PUSH E ...
分类:
其他好文 时间:
2018-04-20 00:12:43
阅读次数:
237
cp : http://blog.csdn.net/x_perseverance/article/details/78897637 每一个函数被调用时,都会为函数开辟一块空间,这块空间就称为栈帧。 首先,我们了解一下不同种类的寄存器: (1)eax,ebx,ecx,edx :通用寄存器 (2)ebp ...
分类:
移动开发 时间:
2018-03-12 18:52:59
阅读次数:
223
cp: http://blog.csdn.net/hutao1101175783/article/details/40128587 (1)ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。 (2)EBP:基址指针寄存器 ...
分类:
移动开发 时间:
2018-03-12 16:58:57
阅读次数:
234
环境: xp ps3 VS 2008 release版本, 禁用优化 IDA OD 参考: 跳板 : http://blog.csdn.net/chenchong_219/article/details/17973935 ebp+x030是什么: https://www.cnblogs.com/Li ...
分类:
其他好文 时间:
2018-03-10 21:55:52
阅读次数:
222
最近看了一点点栈的知识,顺手写下来之前不清楚的点 在调用一个函数的时候,会用栈来存储信息,在这个函数调用结束之后栈上这一部分东西会被清除,通常的汇编代码为 (以32位为例) 这一段汇编中 EBP 位置不变,最后回到原点,意思也就是没清除栈上剩余 “ 垃圾 ” 仅是将 ESP 拉回来,再 pop EB ...
分类:
其他好文 时间:
2018-02-27 21:20:12
阅读次数:
139
80X86寄存器介绍 80X86寄存器介绍 32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlag ...
分类:
其他好文 时间:
2018-02-19 00:37:57
阅读次数:
240
2018-02-17 18:50:11 ESP 栈顶指针 EBP 栈底指针 int a=0 #初始化全局变量 存放在data段中 xor ecx, ...
分类:
其他好文 时间:
2018-02-17 20:12:23
阅读次数:
170
```
push ebp ; 提升堆栈
mov ebp,esp sub esp,0CCh ------------------------------------------
push ebx ; 保留现场,函数在执行的时候会用到一些寄存器,但这些寄存器中
push... ...
分类:
其他好文 时间:
2018-02-17 10:32:04
阅读次数:
152