短跳转和近跳转指令中包含的操作数都是相对于(E)IP的偏移,而远跳转指令中包含的是目标的绝对地址,所以短/近跳转会出现跳至同一目标的指令机器码不同,不仅会不同,而且应该不同。而远跳转中包含的是绝对地址,因此转移到同一地址的指令机器码相同

绝对跳转/调用指令中的内存操作数必须以’*’为前缀,否则gas总是认为是相对跳转/调用指令,而且gas汇编程序自动对跳转指令进行优化,总是使用尽可能小的跳转偏移量。如果8比特的偏移量无法满足要求的话,as会使用一个32位的偏移量,as汇编程序暂时还不支持16位的跳转偏移量,所以对跳转指令使用’addr16’前缀是无效的。还有一些跳转指令只支持8位的跳转偏移量,这些指令是:’jcxz’,’jecxz’,’loop’,’loopz’,’loope’,’loopnz’’loopne’如果你在汇编中使用了这些指令,用gas的汇编可能会出错,因为gcc在编译过程中不产生这些指令,所以在c语言中不必担心这些问题。

ffffffff88873036 e8 ff ff 5f c6 => call XX // e8 = callffffffff8887303a ......

相当于:目标地址 - ffffffff8887303a(RIP, 指向下一条指令) = ffffffffffff5fc6 (这个是负数,以补码形式展示)

所以: 目标地址 = ffffffff88869000

即: ffffffff88869000 - ffffffff8887303a + ffffffffffffffff + 1 = ffffffffffff5fc6

可以用 unsigned long 类型来计算,让它自然溢出就好了,(unsigned long)func1 - ((unsigned long)func2 + 0x偏移)

先计算好偏移,再替换call地址,就偷偷的改了调用。

附:若为e8 00 00 00 00 则可以同过模块读取 00 00 00 00 的实际值

Linux中jmp指令,jmp指令对应的机器码相关推荐

  1. linux点亮硬盘locat,Linux中常用的查询指令(which、whereis、find、locatae)

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: Which   查看可执行文件的位置. whereis 查看文件的位置. locate  配合数据库查看文件位置 ...

  2. linux中gcc是什么指令,Linux gcc常用命令

    gcc的编译过程分为四个过程,即预处理(也称预编译,Preprocessing).编译(Compilation).汇编 (Assembly)和连接(Linking). 例如,编译文件test.c,那么 ...

  3. Linux中常用的操作指令(随时更新)

    注:本文的所有内容都来源于网络,是本人再使用过程中遇到的一些不太常用.经常忘记的指令,出处太分散,无法标注.如有问题,请在下方留言,本人会及时更正或删除.谢谢! CentOS 防火墙放开端口 #sud ...

  4. linux中php是什么指令,什么是linux命令

    linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命 ...

  5. Linux中nginx的常见指令

    1.启动 cd /usr/local/nginx sbin/nginx 版权声明:本文为博主原创文章,未经博主允许不得转载. 原文地址: https://www.cnblogs.com/poterli ...

  6. Linux中source是什么指令?

    命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令. 注:该命令通常用命令"."来替代. 如:source /etc/prof ...

  7. Linux系统 (二)- 指令学习2

    ~~~~ 前言 mkdir 基本语法 选项 -p rmdir 基本语法 -p选项 rm 基本语法 选项 -r 选项 -f 选项 -i stat man 基本语法 在线手册介绍 选项 number 选项 ...

  8. Linux内核学习笔记——Linux中的用户组和权限管理(UID是什么?)

    目录 一.背景 进程权限 最小权限原则 二.linux系统安全模型 用户 用户组 用户和组的关系 安全上下文 进程的用户ID 函数setreuid和setregid 函数seteuid和setegid ...

  9. Linux中计算特定CPU使用率

    Linux中计算特定CPU使用率 需求 解决方案 拓展 参考 需求 在Linux中可以通过top指令查看某一进程占用的CPU情况,也可以查看某一个CPU使用率情况(先top指令,然后按数字" ...

  10. Linux中rz -y命令和rz -E命令的区别

    把文件上传到Linux中可以用rz指令,一般小文件我们都是用rz -y来进行上传文件,除此之外还可以用rz -E. 我是用的xshell6来链接Linux的,通常手敲指令都是用rz -y,另外还可以直 ...

最新文章

  1. 关于使用asp.net调试器出现的问题及相关解决方法
  2. 33个优秀的 jQuery 图片展示插件分享
  3. php将get传参解析成数组,php解析url (parse_url) 参数成数组 (parse_str)
  4. 可以获得索引值码_SEO优化细节,怎样优化才能让网站获得更好的排名?
  5. c mysql分页存储过程_mysql 分页存储过程调用报错
  6. java web流量阀值_Javaweb应用使用限流处理大量的并发请求详解
  7. python中debug和run有什么区别_android应用程序开发中run和debug 有什么区别?
  8. 简单谈谈MySQL优化利器-慢查询
  9. 手机能打开的表白代码_不是程序员都能学会的5个表白代码,一学就会,附源码...
  10. 最新微信公众平台源码
  11. DT741-csf联通创维光猫桥接模式+华为WS5200路由器拨号设置
  12. 仙人掌之歌——路转峰回(1)
  13. Spring Cloud (四):断路器(Hystrix)
  14. es管理器免root_国产应用也强大 ES文件浏览器增加ROOT管理
  15. UML工具Visual Paradigm最新版本16.2发布
  16. Linux——超超讲解SSH的原理与SSH的实现!建议收藏❤
  17. 特斯拉又撞“人”了 汽车激光雷达“盛宴”开启
  18. python-selenium学习笔记:运用验证码过滤登陆,验证是否登陆成功
  19. 基于GAN的图像修复--论文笔记
  20. python字符串类型判断(python中datatype()测试字符串类型)

热门文章

  1. FH6908A负极关断同步整流模拟低压降二极管控制IC芯片TSOT23-6超低功耗整流器 1w功耗 <100uA静态 替代MP6908
  2. 纯CSS3实现动画—奔跑的北极熊
  3. 62之内的进制任意转换
  4. 720phi10p 和 720p有什么区别_新电脑明明是高清屏为什么有些页面显示模糊
  5. 芯海科技、芯原科技数字IC
  6. 详解文本文件和二进制文件区别
  7. 分立器件测试仪系统Si.SiC.GaN 材料 IGBT.Mosfet.Diode.BJT......
  8. 软件工程复习重点知识
  9. 正则表达式、正则函数、包的导入
  10. [jenkins]-批量修改配置的插件 Configuration Slicing Plugin