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
Greenlet切换源码分析
栈帧其实是两个指针寄存器,寄存器%
ebp
为帧指针,而寄存器%esp为栈指针2.切换切换其实是切换的执行位置(top_frame)。但是当我切换执行位置,同时要
戴帽子的鼠
·
2020-03-31 00:46
编程,汉语及生命的可能性
其实是与我大天朝古代的八卦暗合了:原名|中文—–|—–EAX|乾EBX|坤ECX|坎EDX|离ESI|震EDI|巽ESP|艮
EBP
|兑1|2|3|4|5|6|7|8|9|A|B|C|D|E|F甲|乙|丙
圣经上的子弹
·
2020-03-28 11:48
BUUCTF-RE-不一样的flag
养成扔PE的习惯用IDA打开1int__cdeclmain(intargc,constchar**argv,constchar**envp)2{3charv3;//[esp+17h][
ebp
-35h]4intv4
Nicky_啦啦啦是阿落啊
·
2020-03-12 20:00
BUUCTF-RE-reverse3
3intv0;//eax4constchar*v1;//eax5size_tv2;//eax6intv3;//edx7__int64v4;//ST08_88signedintj;//[esp+DCh][
ebp
-ACh
Nicky_啦啦啦是阿落啊
·
2020-03-12 18:00
汇编语言
指令的内定计数器EDX:data,总是被用来放整数除法产生的余数ESI:sourceindex,在很多字符串操作指令中,DS:ESI指向源串EDI:destinationindex,ES:EDI指向目标串
EBP
废柴阿七脏话
·
2020-03-12 15:01
关于汇编
eax,ebx,ecx,edx,esi,edi,
ebp
,esp等都是X86汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。
tadelemon
·
2020-03-08 01:27
栈中函数调用原理详解
一、eip、
ebp
、esp介绍EIP,
EBP
,ESP都是系统的寄存器,里面存储的是些地址,我们系统中栈的实现上离不开他们三个。我知道栈的数据结构主要特点是后进先处。
细雨听风
·
2020-03-06 05:39
Linux系统调用始末
当然,如果确实对参数的传递,ebx、ecx、edx、esi、edi、
ebp
这几个寄存器究竟是从左到右还是从右到左地存储我们传递的参数,实际上是arg1对应ebx,arg2对应ecx,以此类推。
athorn
·
2020-03-03 06:31
对抗反汇编样本分析
2.IDA打开发现在00401016处有标红,IDA识别出了一些异常,仔细分析发现,把0x40148c写到了
ebp
+4的位置,而这个位置刚好是main函数返回地址的位置,通过改写此处的内容让main返回的时候执行
看点书
·
2020-02-16 14:26
C++逆向之基本数据类型的表现形式
esp00C91653subesp,0C0h//默认提高堆栈的大小为C0h;在x86系统中,内存是小端存储方式00C91659pushebx00C9165Apushesi00C9165Bpushedi00C9165Cleaedi,[
ebp
Silence_ACG
·
2020-02-16 11:04
PWN之Canary学习
参考链接:https://ctf-wiki.github.io/ctf-wiki/pwn/linux/mitigation/canary-zh/0x1简介:用于防止栈溢出被利用的一种方法,原理是在栈的
ebp
Sarace
·
2020-02-10 17:00
linux栈的增长方向
在说之前,需要指出的就是eax是通用寄存器,esp是和堆栈相关的,栈顶指针寄存器,
ebp
是栈低指针寄存器。片段一pushl%eax片段一表示的是把寄存器eax里的值,压入栈中。
freelands
·
2020-02-10 03:59
pwn-栈迁移:
栈迁移主要说的是leave指令:movesp,ebppopebp第一个指令会改变esp的值,第二个指令会改变
ebp
的值(当然这个值不太重要)我们主要想控制的是esp的值,这里就要用到两个gadget(leaveret
cnitlrt
·
2020-02-10 00:55
esp和
ebp
的在函数调用时的行为
push时,先减四后赋值
ebp
永远指向栈底元素。他一般存储了上一个函数的
ebp
。进入函数中,先pushebp再movebp,esp这时俩寄存器都指向保存的上个函数的
ebp
的值。
taiji1985
·
2020-02-09 10:05
一些汇编题目分析
在执行0x0804850d的ret指令前(popl后),
ebp
的值是多少?上述ret指令执行后,eip的值是多少?用32位16进制表示,注意
张慕晖
·
2020-02-09 07:41
关于函数调用浅析
临时变量,包括函数的局部变量和编译器自动生成的临时变量保存的上下文,函数调用前后需要保持不变的寄存器在i386中,一个函数的活动记录用
ebp
和esp这两个寄存器划定活动范围。
南风知我_
·
2020-02-02 12:24
汇编语言之寄存器(详细介绍)
2个变址和指针寄存器(ESI和EDI);2个指针寄存器(ESP和
EBP
)。6个段寄存器(ES、CS、SS、DS、FS、GS)。1个指令指针寄存器(EIP);1个标志寄存器(EFlags)。
chen yu
·
2020-01-15 09:07
程序进入到helloworld的入口之后发生了什么?
程序从入口点401280开始执行代码[esp28ff8cebp28ff94]pushebp[esp=28ff88
ebp
=28ff94在栈中保存了调用子程序前的栈基址28ff94]movebp,esp[把现在的栈顶
御坂网络
·
2020-01-08 19:48
C语言函数调用堆栈框架
函数调用堆栈框架--传递参数--保存返回地址--提供局部变量空间*函数的返回值默认使用eax寄存器存储返回给上一级函数了解堆栈存在的目的和编译器对堆栈使用的规则是理解操作系统一些关键性代码的基础堆栈寄存器--
ebp
那只大象
·
2020-01-07 12:40
【CTF-PWN】TJCTF2018_RE&&PWN
面向高中生的CTF,题目很简单,记录一下过程和几个脚本0x01Validator首先定义了一段字符串movdwordptr[
ebp
+s1],74636A74hmov[
ebp
+var_34],756A7B66hmov
Kirin_say
·
2019-12-31 01:07
iOS C语言判断语句if(n==1)与if(1==n)的区别
intn;if(n==1)//第一种判断方式if(1==n)//第二种判断方式二、分析if(i==1)004014CFcmpdwordptr[
ebp
-4],1004014D3jnemain+2Eh(004014de
石虎132
·
2019-12-30 07:04
wpsecCTFpwn 0x1
首先介绍下栈帧:就是利用
EBP
寄存器访问栈内局部变量,参数,函数返回地址等的手
喝豆腐脑加糖
·
2019-12-29 17:38
反汇编01
esp是堆栈指针
ebp
是基址指针那两条指令的意思是将栈顶指向
ebp
的地址以下摘自网上一篇文章:pushebp;
ebp
入栈movebp,esp;因为esp是堆栈指针,无法暂借使用,所以得用
ebp
来存取堆栈
wyrover
·
2019-12-28 10:43
寄存器(简单概述)
32-bitCPU寄存器为:EAX、EBX、ECX、EDX、
EBP
、ESI、EDI、ESP。
陌尘吖
·
2019-12-27 15:11
汇编
安恒月赛 pwn wp | 2019_01
rrrx86elf|nx漏洞点:栈溢出|read(0,buf,0xa0)|buf在
ebp
-0x30流程分析:srand(time(0))read(0,buf,0xa0)len=strlen(buf)foriinrange
fantasy_learner
·
2019-12-25 13:46
程序员自我修养6-库与运行库
一个活动记录图:图片.png图中
ebp
固定在图中所示的位置,不随这个函数的执行而变化,相反地,esp始终指向栈顶,因此随着函数的执行,esp会不断变化。
S_s_s_a53f
·
2019-12-23 22:12
pwnable.kr之simple login
首先还是对栈帧结构做一个总结,因为之前很久没做都忘了.1.PNG如图所示,我总结的栈结构和其他说法有些不同,方便自己记忆吧,是否合理有待讨论.在这里我认为函数调用是父函数中断在某一个位置,然后开始执行子函数的逻辑.
EBP
hyrathon
·
2019-12-22 00:01
【攻防世界】高手进阶 pwn200 wp
JarvisOJlevel4很像检查保护利用checksec--filepwn200可以看到开启了NX防护静态反编译结构Main函数反编译结果如下int__cdeclmain(){intbuf;//[esp+2Ch][
ebp
飞熊先生
·
2019-12-20 07:58
Android smali逆向还原练习之switch case
编译器生成的汇编代码,直接用cmp[
ebp
+var_4],0jzshortloc_401042之类指令代替2、case分支大于3小于等于256。
unsummon
·
2019-12-18 10:21
汇编语言
每个字节的位置称为地址CPU32位:能够处理的数据最大为32bit,地址空间2^32<4G64位:能够处理的数据最大为64bit,地址空间2^64寄存器EAX、EBX、ECX、EDX:通用寄存器ESI、EDI、
EBP
cxc1357
·
2019-12-17 23:00
《CS:APP》第二版第三章家庭作业部分答案
以下答案均有个人完成转载注明出处3.55movl12(%
ebp
),%esigetx_lmovl20(%
ebp
),%eaxgetymovl%eax,%edxsarl$31,%edxgetsignmovl%
巫水硫酸铜
·
2019-12-17 00:50
CPU寄存器
这篇文章主要针对eip,esp,
ebp
寄存器进行介绍,有关别的通用寄存器在很多汇编相关书籍中都有介绍,由于篇幅有限,在这里就简单带过了。
Hello密斯托李
·
2019-12-16 06:24
Boot And Other
**Cdecl**(函数调用)低位地址局部变量上一层[
ebp
]------[
ebp
]pushl%
ebp
;movl%esp,%
ebp
返回地址(call指令)参数1参数2...高位地址(栈底)段机制Paste_Image.pngGDTR48
wangqing
·
2019-12-14 16:13
2019-10-22
部分相关资料:https://http3-explained.haxx.se/zh/,https://www.infoq.cn/article/IgME_4
ebP
3d46m3tHbaT今日学习笔记:租房耽误了
藏身草木中
·
2019-12-13 13:22
linux内存映射,内存分布情况
/mem_map%
ebp
:0xBFD56888tmpaddress:0xBFD56880cr4=000006D0PSE=1PAE=0cr3=0ED64000cr0=8005003B
sgy1993
·
2019-12-13 01:03
《0day安全:软件漏洞分析技术》学习笔记——ChapterII
栈帧在母函数调用子函数的时候,会在栈中构建新的栈帧,将返回地址,传入的参数,
EBP
(母函数的栈帧栈底地址)压进栈中。不同位的操作系统对栈帧的具体操作不尽
合天智汇
·
2019-12-08 13:17
2019 安洵杯 Re 部分WP
IDA打开intsub_416560(){intv0;//eaxintv1;//edxintv2;//edxintv3;//ecxintv4;//ST08_4charv6[4];//[esp+310h][
ebp
Hk_Mayfly
·
2019-12-02 22:00
PWN之canary骚操作
Canary保护机制的原理,是在一个函数入口处从fs段内获取一个随机值,一般存到
EBP
-0x4(32位)或RBP-0x8(64位)的位置。
23R3F
·
2019-12-01 13:14
2操作系统是如何工作的?
当一个中断信号发生的时候,CPU把当前的eip,esp,
ebp
都压到一个叫内核堆栈的另外一个堆栈里。然后把eip指向中断处理程序的入口。即保存现场,执行中断处理程序。由CPU和内核代码共同
夏天的篮球
·
2019-12-01 01:10
通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
实验:首先,写一个简单的c程序通过命令编译c程序为汇编代码打开汇编代码简化汇编代码分析汇编代码:假设目前栈底位置为1000,栈为空栈,即
ebp
=esp=1000,令目前栈底位置为单元1,每单元占4字节代码从
xiaoxii
·
2019-11-29 02:48
2019-11-12摸鱼一号
除非我死了(不是一道ret2libc的题是ISG2015的题先IDA图片.png很简单的结构,用的版本直接告诉了是libc-2.19另外这里idabuf到
ebp
的距离是有问题的,实际调试距离是16程序中给出的可用的函数的数据有
好大一只免孑
·
2019-11-22 21:03
Lab_1:练习5——实现函数调用堆栈跟踪函数
如果能够正确实现此函数,可在lab1中执行“makeqemu”后,在qemu模拟器中得到类似如下的输出:1
ebp
:0x00007b28eip:0x00100992args:0x000100940x0001
chuyaoxin
·
2019-11-10 20:00
(汇编分析)字符指针数组与二维字符数组
ccstrstr1的数组赋值及其汇编代码如下intcc[2][2]={{1,2},{3,4}};00D63598movdwordptr[
ebp
-18h],100D6359Fmovdwordptr[
ebp
记事本的记事本
·
2019-11-07 23:32
栈溢出的保护机制和利用方法
当开启栈保护后,函数开始执行时会先往栈里插入cookie信息,cookie常在
ebp
的上方,当函数返回的时候会验证cookie信息是否合法,如果不合法就停止程序运行。
Thriumph
·
2019-11-07 21:37
c++学习笔记之继承
Count{intv;};voidtest(){Count1c1;//创建一个子类c1.x=1;c1.y=2;c1.k=3;c1.v=4;//这是它的反汇编代码00B023A8movdwordptr[
ebp
旧风景_
·
2019-11-05 17:19
分析
FF15A4200901calldwordptrds:[];\printf0109101B|.83C404addesp,0x40109101E|.C745CCFC200>movdwordptrss:[
ebp
记事本的记事本
·
2019-11-05 13:34
识别反汇编
image.png局部变量采用相对与
ebp
的常量偏移处反汇编的算数操作只需要记忆下除法运算是用edx:eax除操作数并将结果保存到eax中,余数保存到edx中。
jngyuhn
·
2019-11-05 08:20
Hitcon-Training之lab1--lab10
lab1方法一:使用逆向解密的方法image方法二:利用gdb动态调试,可以在已经生成了password并且还未输入magic的情况下个断点image可知,
ebp
-0x80的地方就是password存放地址
23R3F
·
2019-11-04 05:26
2019 360杯 re wp--Here are some big nums
www.lanzous.com/i7303oh1.准备获取信息:32位文件2.IDA打开找到主函数之后,反编译为伪C代码1intsub_404D70()2{3intresult;//eax4charv1;//[esp+0h][
ebp
Hk_Mayfly
·
2019-10-30 21:00
栈-函数调用
汇编的程序如下,分析此程序以得出栈的精髓:1、主函数被上层调用者调用后,执行PUSHEBP,ESP-4(因为
EBP
入栈),
EBP
值没有改变,值得注意的是刚开始分配站的时候,第一个入栈的是return,主函数的返回地址
dx670
·
2019-10-24 23:00
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他