逆向之汇编(EBP寻址)
1.寄存器传参和堆栈传参
(1)寄存器
(2)堆栈传参
ESP寻址
2.ESP寻址的缺点
(前提:用堆栈传参)
在堆栈中存些值,ESP(栈顶指针)就会发生变化,于是下面的esp寻址就要更新。
举例:
当函数中,要用到寄存器来存储参数,如下图,
蓝色圈圈里面的数值将很麻烦
3.EBP寻址
- 举例:
整数1,2,3求和
函数:
- 先将ebp的值压入栈,ebp指向esp所指,
PUSH EBP
MOV EBP,ESP
- 因为esp的动态变化,所以将esp指向未开辟的栈,
SUB ESP,10
- ebp不会因栈顶的变化而变化,可成为一个很好的参照点,
一系列加法操作
- 最后,将ebp和esp还原,保持堆栈平衡。
MOV ESP,EBP
POP EBP
RET 0C
这里再提一句pop指令
- 将栈顶数值弹出,返回给pop 后面所指的寄存器/内存
- esp栈顶指针向下移
逆向之汇编(EBP寻址)相关推荐
- 32位汇编ebp、ebp-4、ebp+4、ebp+8等含义
我们知道,当调用了一个函数后,底层汇编大多数会使用ebp寻址的方式去查找参数,关于ebp与esp寻址可以看我这篇文章<ebp寻址>. 下面简单说总结一下ebp几个偏移的含义: ebp: ...
- IOS逆向之汇编基础
原文出处 学习汇编前你应该知道的知识 1.汇编需要什么工具和程序,到哪里下载? 目前阶段,汇编程序仅需要两个程序就够了.masm.exe,link.exe. 前者是编译程序,后者是链接程序 ...
- Linux汇编----变址寻址与间接寻址
经常会把AT&T汇编语法中的变址寻址(indexed memory mode)与寄存器间接寻址搞混. 1. 变址寻址模式 变址寻址特别适合于访问内存中的一系列连续数据,即数组.表达式格式为 b ...
- 非虫 android应用逆向,android逆向-ARM汇编基础-非虫笔记
这里是非虫笔记本,对学习知识的一种总结.有机会可以一起学习. ARM汇编(非虫笔记) 1.ARM汇编的目的: 分析elf文件的需要. 2.原生程序生成过程. (1)预处理,编译器处理c代码中的预处理指 ...
- 逆向与汇编的一些笔记
寄存器 EAX:累加寄存器 EBX:基址寄存器 ECX:计数寄存器 EDX:数据寄存器 ESI:来源寄存器 EDI:目标寄存器 EBP:基址指针寄存器 ESP:堆栈指针寄存器 EIP:指令指针寄存器 ...
- linux 汇编 变址寻址,汇编--寻址方式(示例代码)
1.立即寻址方式 mov AL,5(AL)=05HmovAX,3064H (AX)=3064Hmov EAX,123456H (EAX)=123456H 2.寄存器寻址方式 movAX,BX (AX) ...
- 逆向知识十三讲,汇编中数组的表现形式,以及还原数组
讲解数组之前,要了解数组的特性 1.数据具有连续性 2.数据类型相同 比如: int Ary[3] = {0,1,2}; 我们可以看出,上面定义的数组,数据是连续的,其中每个数据类型大小都是int类型 ...
- 逆向入门(5)汇编篇-函数相关学习与JCC指令
0x01 函数 汇编眼中的函数,函数就是一系列指令的集合,为了完成某个会重复使用的特定功能. 可以使用JMP指令或者CALL指令来进行调用函数,先看JMP指令. JMP指令调用函数 假设定义一个函数功 ...
- [逆向]汇编JCC指令举例
一前言 今天文章的主要内容是逆向基础汇编JCC指令举例,JCC指令就是满足条件跳转指令,上一篇文章已经给大家介绍了基本用法,如有不明白的可以先看看我的上一篇文章,今天主要为大家举例加强巩固. 二JCC ...
最新文章
- java第一份工作_Java 学到什么程度可以找到第一份工作 ?
- 中间层体系结构的好处
- django 登陆增加除了用户名之外的手机和邮箱登陆
- php红色字体颜色,php生成文字颜色渐变 高级用法
- Gerrit代码Review入门实战 1
- HTTP 1.1状态代码
- 【SQL】IN、EXISTS和表连接三者的效率比较
- 弱键(Weak Key, ACM/ICPC Seoul 2004, UVa1618)
- mysqld已删除但仍占用空间的_活见鬼,明明删除了数据,空间却没减少
- 深入理解ES6之——迭代器与生成器
- 计算机中b代表的含义是什么意思,表示文件大小的MB,KB,B等是什么意思?
- Bart模型应用实例及解析(一)————基于波士顿房价数据集的回归模型
- 王者荣耀无限火力服务器,王者荣耀无限火力8.0
- 【杂谈】精要主义对自身发展的影响和指导
- 『原创』C# wm6通过udp协议和pc通讯
- systemverilog-static和automatic
- C#中 object类型
- Eclipse上配置tomcat
- python填充颜色函数_Python使用Turtle图形函数画图 颜色填充!(学习笔记)
- 张家俊:ChatGPT八个技术问题的猜想