1.寄存器传参和堆栈传参

(1)寄存器

(2)堆栈传参
ESP寻址

2.ESP寻址的缺点

(前提:用堆栈传参)
在堆栈中存些值,ESP(栈顶指针)就会发生变化,于是下面的esp寻址就要更新。

  • 举例:

    当函数中,要用到寄存器来存储参数,如下图,

    蓝色圈圈里面的数值将很麻烦

3.EBP寻址

  • 举例:
    整数1,2,3求和


函数:

  1. 先将ebp的值压入栈,ebp指向esp所指,

PUSH EBP
MOV EBP,ESP

  1. 因为esp的动态变化,所以将esp指向未开辟的栈,

SUB ESP,10

  1. ebp不会因栈顶的变化而变化,可成为一个很好的参照点,

一系列加法操作

  1. 最后,将ebp和esp还原,保持堆栈平衡。

MOV ESP,EBP
POP EBP
RET 0C

这里再提一句pop指令

  • 将栈顶数值弹出,返回给pop 后面所指的寄存器/内存
  • esp栈顶指针向下移

逆向之汇编(EBP寻址)相关推荐

  1. 32位汇编ebp、ebp-4、ebp+4、ebp+8等含义

    我们知道,当调用了一个函数后,底层汇编大多数会使用ebp寻址的方式去查找参数,关于ebp与esp寻址可以看我这篇文章<ebp寻址>. 下面简单说总结一下ebp几个偏移的含义: ebp:  ...

  2. IOS逆向之汇编基础

    原文出处 学习汇编前你应该知道的知识   1.汇编需要什么工具和程序,到哪里下载?     目前阶段,汇编程序仅需要两个程序就够了.masm.exe,link.exe. 前者是编译程序,后者是链接程序 ...

  3. Linux汇编----变址寻址与间接寻址

    经常会把AT&T汇编语法中的变址寻址(indexed memory mode)与寄存器间接寻址搞混. 1. 变址寻址模式 变址寻址特别适合于访问内存中的一系列连续数据,即数组.表达式格式为 b ...

  4. 非虫 android应用逆向,android逆向-ARM汇编基础-非虫笔记

    这里是非虫笔记本,对学习知识的一种总结.有机会可以一起学习. ARM汇编(非虫笔记) 1.ARM汇编的目的: 分析elf文件的需要. 2.原生程序生成过程. (1)预处理,编译器处理c代码中的预处理指 ...

  5. 逆向与汇编的一些笔记

    寄存器 EAX:累加寄存器 EBX:基址寄存器 ECX:计数寄存器 EDX:数据寄存器 ESI:来源寄存器 EDI:目标寄存器 EBP:基址指针寄存器 ESP:堆栈指针寄存器 EIP:指令指针寄存器 ...

  6. linux 汇编 变址寻址,汇编--寻址方式(示例代码)

    1.立即寻址方式 mov AL,5(AL)=05HmovAX,3064H (AX)=3064Hmov EAX,123456H (EAX)=123456H 2.寄存器寻址方式 movAX,BX (AX) ...

  7. 逆向知识十三讲,汇编中数组的表现形式,以及还原数组

    讲解数组之前,要了解数组的特性 1.数据具有连续性 2.数据类型相同 比如: int Ary[3] = {0,1,2}; 我们可以看出,上面定义的数组,数据是连续的,其中每个数据类型大小都是int类型 ...

  8. 逆向入门(5)汇编篇-函数相关学习与JCC指令

    0x01 函数 汇编眼中的函数,函数就是一系列指令的集合,为了完成某个会重复使用的特定功能. 可以使用JMP指令或者CALL指令来进行调用函数,先看JMP指令. JMP指令调用函数 假设定义一个函数功 ...

  9. [逆向]汇编JCC指令举例

    一前言 今天文章的主要内容是逆向基础汇编JCC指令举例,JCC指令就是满足条件跳转指令,上一篇文章已经给大家介绍了基本用法,如有不明白的可以先看看我的上一篇文章,今天主要为大家举例加强巩固. 二JCC ...

最新文章

  1. java第一份工作_Java 学到什么程度可以找到第一份工作 ?
  2. 中间层体系结构的好处
  3. django 登陆增加除了用户名之外的手机和邮箱登陆
  4. php红色字体颜色,php生成文字颜色渐变 高级用法
  5. Gerrit代码Review入门实战 1
  6. HTTP 1.1状态代码
  7. 【SQL】IN、EXISTS和表连接三者的效率比较
  8. 弱键(Weak Key, ACM/ICPC Seoul 2004, UVa1618)
  9. mysqld已删除但仍占用空间的_活见鬼,明明删除了数据,空间却没减少
  10. 深入理解ES6之——迭代器与生成器
  11. 计算机中b代表的含义是什么意思,表示文件大小的MB,KB,B等是什么意思?
  12. Bart模型应用实例及解析(一)————基于波士顿房价数据集的回归模型
  13. 王者荣耀无限火力服务器,王者荣耀无限火力8.0
  14. 【杂谈】精要主义对自身发展的影响和指导
  15. 『原创』C# wm6通过udp协议和pc通讯
  16. systemverilog-static和automatic
  17. C#中 object类型
  18. Eclipse上配置tomcat
  19. python填充颜色函数_Python使用Turtle图形函数画图 颜色填充!(学习笔记)
  20. 张家俊:ChatGPT八个技术问题的猜想

热门文章

  1. JavaFX - 制作登录窗口及界面跳转
  2. matlab 分类学习工具箱 Classification Learner
  3. 微信支付(p11-p20)
  4. 2022年亚太杯数学建模竞赛ABC题
  5. 奋斗与首付,谁更能承载生命之重?
  6. 微信公众号教程(10)公众账号自定义回复功能
  7. 找出知晓秘密的所有专家
  8. ECDH secp256k1 集成
  9. 小米手机更改 MIUI 内测机制,每周必须提交 Bug
  10. xxxxxxxxxxxxxxxxx