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

中国建设工程造价管理协会网站查询免费的网站搭建平台

中国建设工程造价管理协会网站查询,免费的网站搭建平台,和田网站制作,wordpress 主题名称linux调用共享库中的函数时通过plt表和got表实现位置无关代码,过程中涉及到lazy binding,即在第一调用外部函数时解析被调用的函数地址并将地址写入到got表,后续调用则不需要解析函数地址,具体过程如下 1.c程序如下 #include &l…

linux调用共享库中的函数时通过plt表和got表实现位置无关代码,过程中涉及到lazy binding,即在第一调用外部函数时解析被调用的函数地址并将地址写入到got表,后续调用则不需要解析函数地址,具体过程如下

1.c程序如下

#include <stdio.h>
#include <cstub.h>
#include <dlfcn.h>
extern void a();
int main()
{a();int i=1;
}

2.c程序文件如下

#include <stdio.h>void a()
{void *b = printf;printf("hahahaha\n");
}

编译参数如下

gcc -g  1.c -I. -L. -la -ldl -z lazy
gcc -g -fPIC -shared 2.c -o liba.so

使用gdb调试a.out,在main上下断点,反汇编main函数如下

可以看出程序时通过0x401030这个地址来调用a函数,反编译0x401030如下

 0x401030这个地址反编译对应着plt表,jmpq *0x2fe2(%rip) 是 x86-64 架构中的一条跳转指令。我们来逐部分分析这条指令的含义:

  1. jmpq: 这是一个跳转指令,jmp 表示无条件跳转(jump),q 表示这是一个 64 位的跳转("quad" 的缩写)。

  2. 0x2fe2(%rip): 这里使用的是相对寻址模式,%rip 是指令指针寄存器(Instruction Pointer Register),它指向当前正在执行的指令的地址。0x2fe2 是一个偏移量,表示从当前指令的地址向前或向后偏移 0x2fe2 字节。也就是说,0x2fe2(%rip) 将计算出一个地址,这个地址是当前指令地址加上 0x2fe2。

  3. *0x2fe2(%rip): 星号(*)表示将这个计算出的地址作为跳转目标,而不是直接跳转到一个固定的地址。也就是说,指令会跳转到由 0x2fe2(%rip) 指向的地址。

  4. 使用x读取这个地址内容,发现对应应位置是got表内容,值未0x401036,对应着上图pushq这条汇编指令,即程序执行完plt表第一条jumq后紧接着执行pushq %0;jump 0x401020,0x401020保存了解析a函数地址的代码。

 执行r命令,并执行到int i=1这行代码,此时程序执行完a函数并输出,再次查看got表内容,可以发现got表对应的值改变为0x00007ffff7fcb105,反汇编a函数,可以看出a函数的地址也为0x00007ffff7fcb105,因此后续在调用a函数是,程序通过jmpq *0x2fe2(%rip) 这句指令跳转到a函数真实地址并执行a函数。

 

http://www.yayakq.cn/news/318557/

相关文章:

  • 金坛住房和城乡建设局网站网站建设与管理指什么
  • 文本文档做网站怎么加图片网站建设南昌
  • thinkphp做的上线网站项目管理的主要内容包括哪些
  • 网站 图标 gif怎么把网页放到网站上
  • 个人接网站开发的平台宁波市城市建设档案馆网站
  • 北京响应式网站免费咨询服务期
  • seo资源网站 排名微信购物商城小程序
  • 企业建设网站的过程和预算表深圳商城网站建设报价
  • 小公司简介ppt介绍范本seo培训机构排名
  • 江西网站搜索引擎优化企业网站报备
  • 旅游网站设计背景百度贴吧免费发布信息
  • dw6做网站HTML模板怎么导入WordPress
  • 企业网站优化面向什么工作网站设计做哪些的
  • 做设计需要知道的几个网站吗凡科二级网站怎么做
  • 北京外贸网站优化怎样免费建个人网站
  • 淄博建站哪家好重庆梁平网站建设哪家好
  • html 旅游网站做推广哪个平台效果好
  • 采购网站平台找资源
  • 企业网站流程图杭州品格网站设计
  • 外包网站会自己做原型吗客源汇软件效果怎么样
  • 信息系统的网站开发答辩问题小说网站开发流程
  • 营销型网站代理单机网页制作工具
  • 免费制作壁纸的appseo排名优化软件有
  • 创业网站怎么做网站建设四个步骤
  • 怎么制作网页图片莱芜seo排名
  • 个人网站如何被百度收录厦门关键词排名优化
  • 仲恺住房和城乡建设局网站网站移动端流量
  • 阿里巴巴国际站运营工作内容融资渠道
  • 怎么可以预览自己做的网站工商局网站查询入口
  • 平面设计软件图标seo优化入门教程