吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3095|回复: 14

[经验资料] call和retn

  [复制链接]
吾名 发表于 2015-8-26 09:16 | 显示全部楼层 |阅读模式



1.CALL指令:
  CALL指令可不是如唤指令,而是子程序调用指令。那么汇编语言中的子程序是什么呢?子程序能被其它程序调用,在实现某种功能后能自动返回到调用程序去的程序。其最后一条指令一定是返回指令,故能保证得新返回到调用它的程序中去。也可调用其它子程序,甚至可自身调用。
  我们可以暂时把子程序理解为一个代码段,是一个模块化的代码面。这个代码段可以完成某一特定功能,当程序在执行过程中需要用到这一功能,将会进入这个代码段。这块代码段执行完毕后,会跳出这块代码段。而进入代码段这一过程就是子程序的调用,也就是这里所说的CALL指令所要完成的工作。
  反汇编经常看到的CALL指令的基本格式如下:
  CALL   地址1
  功能:调用地址1处的子程序
  CALL指令分为两种情况,一种是段内转移;另一种是段间转移。这两种情况类似于JMP指令的相对跳转和绝对跳转(只不过相对跳转的JMP指令会有short标识)。
  在CALL指令进行的是段内转移的情况时,跟在CALL后面的地址1为一个相对位移;而CALL指令进行的是段间转移的情况时,跟在CALL后面的地址1为一个绝对内存地址。
  (1)段内转移的CALL指令等价于两条指令:
  push eip
  jmp   目的位置

  也就是说,执行段内转移的CALL指令时,相当于先后执行以上两条指令。
  (2)段间转移的CALL指令等价于三条指令:
  push CS
  push eip
  jmp   目的位置

2.RETN/RETF指令:
  按照前面讲CALL指令举的那个例子,CALL指令是进入子程序的指令,而例子中所说的跳出子程序这一过程也需要2条指令,它们是RETN/RETF。
  RETN/RETF是跳出子程序的指令,被称为返回指令。RETN指令用于从段内转移CALL进的子程序中返回;RETF指令用于从段间转移CALL进的子程序中返回。
  RETN/RETF在反汇编代码中呈现的形式如下:
  RETN
  RETN   操作数1
  RETF
  RETF   操作数1
  RETN等价于一条指令:POP   eip
  RETF等价于两条指令:
  POP   eip
  POP   CS

  而带有操作数的RETN/RETF指令则是在POP之后,执行ESP=ESP+操作数1。








评分

参与人数 26HB +32 THX +18 收起 理由
xiaoxixpj + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
sjtkxy + 1 + 1
迈克零零 + 1
24567 + 1
Soul1999 + 1
太阳神 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
创客者V2.0 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
行行行行行行 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
一路走来不容易 + 1
消逝的过去 + 1
l278785481 + 1
MoeRay + 1
hackysh + 1
lies + 1
hnymsh + 2
海天一色001 + 1 [快捷评语] - 2017,让我们17学破解!
tony2526 + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
彡墨鱼灬丶 + 3 + 1 【新福利】详见http://www.xuepojie.com/thread-11
向往神鹰 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
小鬼 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
小峰 + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
Mrsin + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
zccbcxb + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
CheriSh丶 + 4 + 1 评分=感恩!简单却充满爱!感谢您的作品!
wakichen + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
wakichen 发表于 2015-8-26 09:17 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Aniz 发表于 2015-8-26 09:26 | 显示全部楼层

楼上的速度真快
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zccbcxb 发表于 2015-8-26 09:52 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Mrsin 发表于 2015-8-26 10:27 | 显示全部楼层

前排支持楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
tony2526 发表于 2015-8-26 15:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
依然の默默 发表于 2015-8-26 17:08 | 显示全部楼层

学习学习....
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hackysh 发表于 2022-2-17 15:43 | 显示全部楼层


[快捷回复]-感谢楼主热心分享!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-3-24 04:40 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-12-9 07:33 | 显示全部楼层

楼主你辛苦了吧
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表