E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
EBP
EIP &
EBP
& ESP
eax,ebx,ecx,edx,esi,edi,
ebp
,esp等都是X86汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。
chenlycly
·
2014-07-17 18:00
ESP和
EBP
指针寄存器
ebp
和esp是32位的SP,BP esp是堆栈指针
ebp
是基址指针 ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX
chenlycly
·
2014-07-17 18:00
堆栈中的EIP
EBP
ESP
EIP,
EBP
,ESP都是系统的寄存器,里面存的都是些地址。 为什么要说这三个指针,是因为我们系统中栈的实现上离不开他们三个。
chenlycly
·
2014-07-17 18:00
函数过程调用
栈帧由两个指针来界定:帧指针(%esp)和栈指针(%
ebp
)。帧指针固定指向栈底,栈指针则始终指向栈顶。
jy02326166
·
2014-07-09 10:00
masm6.11的BUG?
moveax,[
ebp
+eax];->DS: moveax,[eax+
ebp
];->SS:上述2行代码生成的机器码反了,据说masm8也有此问题,但是masm9是正常的。
mydo
·
2014-07-03 19:00
bug
masm
通用 CPU寄存器
在x86指令集里,一个CPU有八个通用寄存器:EAX,EDX,ECX,ESI,EDI,
EBP
,ESP和EBX。还有很多别的寄存器,遇到的时候具体讲解。
Mdoctor
·
2014-07-03 10:00
通用
CPU寄存器
堆栈桢的生成原理
我最初的理解调试器是根据
EBP
来生成该堆栈的,原理如下:可
maochengtao
·
2014-06-25 00:00
汇编—函数调用栈
EBP
:基址指针(BasePointer),用它可直接存取堆栈中的数据。
EBP
寄存器在调用函数时保存ESP,使函数结束时可以正确返回。
xieminnimeix
·
2014-06-11 21:39
函数
调用
栈
汇编
汇编―函数调用栈
EBP
:基址指针(BasePointer),用它可直接存取堆栈中的数据。
EBP
寄存器在调用函数时保存ESP,使函数结束时可以正确返回。
xieminnimeix
·
2014-06-11 21:39
函数
栈
调用
变量初始化
int a = 0;是定义+初始化,定义的分配存储的action在编译时完成,初始化的action则在运行时完成(将执行类似dword ptr [
ebp
-4],0的指令,而单独的int a;
u011388550
·
2014-06-01 16:00
CPU常见寄存器介绍
EAX 、EBX 、ECX 和EDX)2 个变址和指针寄存器(ESI 和 EDI) 2 个指针寄存器(ESP 和
EBP
JavaBlogs
·
2014-05-17 01:00
寄存器
寄存器与函数栈帧之整理篇
%esp寄存器指向当前整个栈的栈顶,%
ebp
指向当前帧的帧底。上一级调用者的帧底被压入当前%
ebp
内容所指的地址,也就是当前帧的帧底位置保存了上一级调用者的
zhang911025
·
2014-05-13 10:00
内存
栈
指针
Assembly instructions 汇编指令解析 A&AT
%
ebp
=boundarybetw
u011368821
·
2014-05-11 20:00
汇编
栈
C++函数调用过程深入分析
首先对三个常用的寄存器做一下说明,EIP是指令指针,即指向下一条即将执行的指令的地址;
EBP
为基址指针,常用来指向
cekine
·
2014-05-04 22:00
函数调用过程
C++数组初始化的问题
mov [
ebp
+var_30],0Ah仅仅将第一个元素初始化为了10,很容易想当然的认为花括号中的唯一的那个值是赋给数组的每一个元素的,其实应该养成好的初始化习惯,用memset
x356982611
·
2014-04-28 13:00
《linux 内核完全剖析》 chapter 3 内核编程语言和环境
寄存器
ebp
通常做帧指针framepointer。而esp则做栈指针stackpointer。1.前缀 在Intel的语法中,寄存器和和立即数都没有前缀。但是在AT&T中,寄存器前冠以“%”
u011368821
·
2014-04-22 15:00
linux
嵌入式
汇编语言
数据结构-递归和堆栈
本文转载http://blog.csdn.net/feixiaoxing/article/details/6838773 看过我前面博客的朋友都清楚,函数调用主要依靠
ebp
和esp的堆栈互动来实现的。
siliang13
·
2014-04-17 21:00
数据结构
C++反汇编->循环语句分析
先写个代码:voidmain() { inta=9; coutMOVDWORDPTRSS:[
EBP
-4],9;a=9 0040164F.68C8104000PUSHtest5.004010C8 00401654.6844004700PUSHOFFSETtest5
sunboyiris
·
2014-04-11 11:00
C++反汇编->循环语句分析
先写个代码:voidmain(){inta=9;coutMOVDWORDPTRSS:[
EBP
-4],9;a=90040164F.68C8104000PUSHtest5.004010C800401654.6844004700PUSHOFFSETtest5
王孟贤
·
2014-04-11 11:00
C++反汇编->多分支if与switch分析
先敲一段代码:#include usingnamespacestd; voidmain() { cout0&&i0andi=2"MOVDWORDPTRSS:[
EBP
-4],1;i=1IF语句开始 0040119D
sunboyiris
·
2014-04-11 10:00
C++反汇编->多分支if与switch分析
先敲一段代码:#includeusingnamespacestd;voidmain(){cout0&&i0andi=2"MOVDWORDPTRSS:[
EBP
-4],1;i=1IF语句开始0040119D
王孟贤
·
2014-04-11 10:00
C++反汇编->乘法分析
贴一段乘法的VC6.0的源码:std::coutMOVDWORDPTRSS:[
EBP
-4],0C;a赋值为12 004015AD.C745F817000>MOVDWORDPTRSS:[
EBP
-8],17
sunboyiris
·
2014-04-11 08:00
C++反汇编->乘法分析
贴一段乘法的VC6.0的源码:std::coutMOVDWORDPTRSS:[
EBP
-4],0C;a赋值为12004015AD.C745F817000>MOVDWORDPTRSS:[
EBP
-8],17;
王孟贤
·
2014-04-11 08:00
C++反汇编->减法分析
#include"iostream" voidmain() { std::coutMOVDWORDPTRSS:[
EBP
-4],1;a赋值为1 004015AD|.C745F802000>MOVDWORDPTRSS
sunboyiris
·
2014-04-10 20:00
C++反汇编->减法分析
#include"iostream"voidmain(){std::coutMOVDWORDPTRSS:[
EBP
-4],1;a赋值为1004015AD|.C745F802000>MOVDWORDPTRSS
王孟贤
·
2014-04-10 20:00
循环语句的汇编表示
1.for循环循环语句的代码是:int sum(intx){inti;intres=0;for(i=0;i:0:55push%
ebp
1:89e5 mov%esp,%
ebp
3:83ec10sub
u011608357
·
2014-03-30 16:00
linux
汇编
gcc
循环语句
if语句的汇编表示
语句的汇编表示 有以下代码:int max(intx,inty){if (x>y)return x;elsereturn y;}产生的汇编代码如下:00000000:0:55 push%
ebp
1
u011608357
·
2014-03-30 15:00
汇编
gcc
条件控制
条件转移
EAX、ECX、EDX、EBX寄存器的作用
来源索引暂存器,DI:目的索引暂存器堆叠、基底暂存器:SP、BPSP:堆叠指标暂存器,BP:基底指标暂存器EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元ESI、EDI、ESP、
EBP
eastlhu
·
2014-03-29 22:00
AT&T汇编leave学习
最近在看c程序的编译出来的汇编文件,发现涉及到函数调用的地方,在返回时有的时候使用的leave,有的时候直接使用的是popl%
ebp
。
gaochizhen33
·
2014-03-07 11:00
关于引用调用
voidtest(){intx=11;inty=4;intresult=0;result=add(x,y);}========================080483f4:80483f4:55push%
ebp
804
maowenl
·
2014-03-05 16:06
Whats Enter指令,Whats Leave指令
函数开始一般都是这两句Leave的作用相当==movesp,
ebp
和popebp而这后面这两句也很常见,函数调用完后一般的用到以上的Enter和leave的作用分别函数开始和结束
laogaoAV
·
2014-03-01 17:00
详解C++代码反汇编后的堆栈寄存器
EBP
和ESP
详解C++代码反汇编后的堆栈寄存器
EBP
和ESP最近在分析一个进程崩溃的严重问题,其中有些过程分析需要对
ebp
,esp 有清晰的理解,对于
ebp
和esp 相信大家都很熟悉了,但是为了使本文自成体系,我还是解释一下
laogaoAV
·
2014-02-20 19:00
7.asm-shellcode流程
DWORD&c, LONG&d, DWORD&e)取得它的汇编码:如:pushebp movebp,esp subesp,14h pushebx pushesi pushedi movdwordptr[
ebp
hgy413
·
2014-02-19 21:00
Esp 和
Ebp
一直对寄存器ESP和
EBP
的概念总是有些混淆,查看定义ESP是栈顶指针,
EBP
是存取堆栈指针。还是不能很透彻理解。之后借于一段汇编代码,总算是对两者有个比较清晰的理解。
donglipeng2009
·
2014-01-27 21:00
undefined reference to `__stack_chk_fail'
fno-stack-protector,即不需要栈保护lib/klib.o:lib/klib.c $(CC)$(CFLAGS)-fno-stack-protector-o$@$: push %
ebp
xiaominthere
·
2014-01-10 15:00
WIN32汇编基础
一、关于寄存器寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,
EBP
等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会。
zhoujiaxq
·
2014-01-02 11:00
浅谈缓冲区溢出检查_security_cookie
介绍:当应用程序启动时,程序的cookie(4字节(dword),无符号整型)被计算出来(伪随机数)并保存在加载模块的.data节中,在函数的开头这个cookie被拷贝到栈中,位于
EBP
和返回地址的正前方
zhuobattle
·
2013-12-17 12:00
C/C++程序启动后内存分布
包含静态数据区、常量数据区)、堆(自下向上生长)、动态库的文件映射、栈2函数压栈:从高地址到低地址(也是从栈底到栈顶)来看,先是函数参数从右向左,然后是返回地址(调用函数前的下一行代码),被调用函数地址,
EBP
piaoairy219
·
2013-12-09 21:00
内存
栈
xcode反汇编调试iOS模拟器程序(六)函数出入口处的处理与局部变量
引用第二节的例子:函数的入口处,通常都是把esp的值传给
ebp
保存,然后下面的操作以
ebp
为基准做偏移量引用。因为esp作为栈指针,push和pop都会自动修改其值,所以用
ebp
可以不受影响。
wangeclipse
·
2013-12-01 01:00
一段汇编代码的分析
6E06EB41004movebp,esp .text:6E06EB43004pushebx .text:6E06EB44008movebx,ecx .text:6E06EB46008movecx,[
ebp
chence19871
·
2013-11-26 11:00
【Linux】Linux Kernel--Software Basic
比如十六进制数0x89E5,是Intel80486的指令,将寄存器ESP的内容拷贝到寄存器
EBP
中。早期计算机中最初的软件工具之一是汇编程序,它读入人类可以阅读的源文件,将其装配成机器代码。
moxiaomomo
·
2013-11-24 17:00
EAX、EBX、ECX、EDX、ESI、EDI、ESP、
EBP
寄存器详解
来源索引暂存器,DI:目的索引暂存器堆叠、基底暂存器:SP、BPSP:堆叠指标暂存器,BP:基底指标暂存器EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元ESI、EDI、ESP、
EBP
zhu2695
·
2013-11-19 00:00
寄存器
OD断点分类
帮助crack时找到关键代码
ebp
栈底esp栈顶
ebp
+xx参数
ebp
-xx变量转自:老鼠爱上潴的空间============================================用断点(OD
xihuanqiqi
·
2013-11-14 18:00
od
crackme
EAX、ECX、EDX、EBX、ESI、EDI、ESP、
EBP
寄存器
来源索引暂存器,DI:目的索引暂存器堆叠、基底暂存器:SP、BPSP:堆叠指标暂存器,BP:基底指标暂存器EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元ESI、EDI、ESP、
EBP
走在编程路上的乞丐
·
2013-11-13 09:48
windows软件开发
汇编语言
32位
Android Tombstone解决步骤
00008b40: 8b40: 55 push %
ebp
8b41: 89e5 mo
JK198310
·
2013-10-31 10:00
i386体系结构函数调用时的参数传递方法
在函数体内可以通过寄存器
ebp
+偏移从栈上获取函数参数。i386体系结构可以使用寄存器传递函数参数,最多可以使用3个寄存器(EAX,EDX和ECX),分别对应函数入参的前3个参数。
linuxhunter
·
2013-10-30 16:00
linux
i386
C函数参数传递
程序为什么开头总是PUSH
EBP
因为对堆栈的操作寄存器有
EBP
和ESP两个。
EBP
是堆栈的基址,ESP一直指向栈顶(只要有PUSH动作,ESP就自动减小,栈的生长方向从大往小,不需要手动改变ESP。)
lgh1992314
·
2013-10-21 15:00
函数返回数组指针例程
因为你的局部变量是存储在栈中的,函数结束返回的时候,栈顶会下移,在x86的表现是
ebp
和esp被回复成调用前的值,而对调用函数之前在栈中的内存内容并不做修改,这时你从函数中返回的指针指向的内存没有任何变化
pear86743
·
2013-10-20 23:00
我的mysqld编译初始化命令
=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti -fomit-frame-pointer -ffixed-
ebp
canlynet
·
2013-10-20 16:00
mysqld
详解C++代码反汇编后的堆栈寄存器
EBP
和ESP
详解C++代码反汇编后的堆栈寄存器
EBP
和ESP最近在分析一个进程崩溃的严重问题,其中有些过程分析需要对
ebp
,esp有清晰的理解,对于
ebp
和esp相信大家都很熟悉了,但是为了使本文自成体系,我还是解释一下
cslovers
·
2013-10-18 22:21
Asm
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他