当前位置: 首页 > wzjs >正文

wordpress视屏类型不受支持北京网站seo服务

wordpress视屏类型不受支持,北京网站seo服务,廉政建设网评文章网站,如何用另一个端口做网站栈内行为分析 一、源码分析 我们以以下简单的 C 程序为例&#xff0c;通过 GDB 动态调试分析函数调用过程中的栈内布局变化&#xff1a; #include <stdio.h> int add(){int a 10;int b 20;return (a b); }int main() {add();return 0; }编译为 32 位程序&#xff1a…

栈内行为分析

一、源码分析
我们以以下简单的 C 程序为例,通过 GDB 动态调试分析函数调用过程中的栈内布局变化:

#include <stdio.h>
int add(){int a = 10;int b = 20;return (a + b);
}int main() {add();return 0;
}

编译为 32 位程序:

gcc -m32 test.c -o test
gdb ./test

动态调试

依次在对应位置打上断点

(gdb) b *main
Breakpoint 1 at 0x11d9
(gdb) b *add
Breakpoint 2 at 0x11ad
(gdb) b *add+42
Breakpoint 3 at 0x11d7
(gdb) r
Starting program: /root/test 
Breakpoint 1, 0x565561d9 in main ()
(gdb) layout regs

补充: esp 永远指向栈顶,ebp永远指向栈底 先记住这句话
然后我们继续运行c进入add函数在下面这个图我们还没进入add函数,eip指向的地址就是add函数的入口地址
程序进入 main() 函数后,还未调用 add() 函数之前,EIP 指向的是 add() 函数的入口地址。此时:

  • ESP 指向当前栈顶
  • EBP 尚未参与本次函数调用帧的构造
    重点部分解释
push %ebp	;这就是我们经常说的压栈	将调用者(main)的 ebp 存入当前栈顶,用于函数返回后恢复上下文
mov %esp, %ebp	;设置新的栈基址,构造当前函数的栈帧
sub $0x10, %esp	;压栈	留出栈空间(0x10 字节)用于局部变量(如 a、b)

在这里插入图片描述

当我们进入add函数到这一步我们会发现 此时的esp=ebp 可以观察到:
程序刚刚进入函数,ESP == EBP,栈帧尚未展开。
类似于“空水桶”,当前的栈顶和栈底都指向相同位置。
这一步体现了函数调用刚发生、栈帧尚未初始化的状态。

在这里插入图片描述
但是接下来,我们继续si几步我们会发现esp在不停变化代码比较简单 但是能看出esp是不断变化的
ESP 向低地址移动(因为栈向下生长)
为局部变量 a b 分配空间
函数内部指令执行期间不断使用和调整 ESP
这一过程中,ESP 表示当前操作的顶部位置,而 EBP 固定在该栈帧的底部,作为局部变量的偏移基准。
在这里插入图片描述
直到走到我们第三个断点 add+42 我们继续si espebp又继续相等了,同时我们回到了main函数当中
ESPEBP 再次恢复为相同值,意味着当前栈帧已被销毁
程序执行流程回到 main() 函数,继续往下执行
汇编解释

leave	; 出栈	实际上等价于:mov %ebp, %esp(还原 esp)→ pop %ebp(恢复上层 ebp)
ret	; 跳转	弹出栈顶的返回地址(调用者 call 指令之后的地址),跳转回主函数
-------------------分割线---------------
leave 是一个复合指令,相当于做了这两件事:
mov %ebp, %esp   ; 清理当前栈帧(还原栈顶)
pop %ebp         ; 恢复调用者的 ebp
-------------------分割线---------------
ret 的作用
ret 会做这件事:
pop %eip  ; 从栈顶取出返回地址并跳转执行

在这里插入图片描述

http://www.dtcms.com/wzjs/260479.html

相关文章:

  • 网站建设内容保障制度苏州seo关键词优化外包
  • 浏览器打开是2345网址导航搜索引擎优化的方法有哪些?
  • 网站公司建设个服务号多少钱济南全网推广
  • 对接公众号的网站怎么做网络营销的推广方法有哪些
  • 我的网站域名找网站设计公司
  • 泗县建设银行网站鹤壁seo
  • 我想自己做网站吗营销公司
  • 优秀设计师网站求职seo推荐
  • 关于网站首页建设的文章文章发布在哪个平台好
  • 怎么做外语网站nba最新交易汇总实时更新
  • wap电影网站建设郑州中原区最新消息
  • 大良做网站品牌软文范文
  • 外贸业务员怎么开发客户seo技术培训沈阳
  • 全国被执行人名单查询seo排名点击软件运营
  • 山西龙采网站建设合同skr搜索引擎入口
  • 网站设计的知识技能网站建成后应该如何推广
  • 宝塔建站网址淘宝seo排名优化
  • 政府网站如何建设好爱链网中可以进行链接买卖
  • 网站主机建设方案百度免费
  • 网络品牌网站建设百度人工在线客服
  • 专业网站建设找哪家公司网络营销有哪些模式
  • 建零售网站还是外贸seo推广
  • 网站开发功能模块出错cps推广平台
  • 淘宝网站制作教程新媒体销售好做吗
  • 广州 营销型网站建设公司的搜索引擎优化
  • 网站开发费算无形资产吗关键词优化流程
  • 专业俄文网站建设免费有效的推广平台
  • 网页设计与网站建设 郑州大学推广普通话的意义论文
  • 域名访问网站怎么下载网店运营与推广
  • 余姚网站建设设计网络营销的含义是什么