吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 5234|回复: 74

[汇编] 寻址方式——数据在寄存器+实用软件分享

  [复制链接]
大飞哥自习室 发表于 2022-3-23 15:19 | 显示全部楼层 |阅读模式



在程序执行的过程中,CPU会不断地处理数据。CPU处理的数据通常来自三个地方:数据在指令中直接给出,数据在寄存器中保存,数据在内存中保存。在使用高级语言进行开发的时候,CPU如何对数据处理对于程序员来说是不需要关心的,编译器会在代码编译的时候进行这些处理。而在使用汇编语言编写程序时,指令操作的数据来自何处,CPU应该从哪里取出数据,则是汇编程序员需要自己解决的问题。CPU寻找最终要操作数据的过程,称为“寻址”。

寻址介绍

1.指令中给出数据

操作数直接放在指令中,作为指令的一部分存放在代码里,这种方式称为立即数寻址。这是唯一在指令中给出数据的方式,也是最直观的知道数据是多少的方式。

举例代码如下:

在执行完上面的指令后,ESI寄存器的值是指令中给出的值,即00403010;EDI寄存器的值也是指令中给出的值,即00403020。

2.数据在寄存器中

操作数在寄存器中存放,在指令中指定寄存器名即可,这种方式称为寄存器寻址方式。这是唯一数据在寄存器中给出的方式。

举例代码如下:

在上面指令中,第一条指令是立即数寻址,将00403000放入EAX寄存器中;第二条指令是把EAX寄存器中的值传递给ESI寄存器。因此,ESI寄存器中的值是00403000。

3.数据在内存中
数据在内存中存放可以有多种方式给出,主要有直接寻址、寄存器间接寻址、变址寻址和基址变址寻址。
(1)直接寻址
在指令中直接给出操作数所在的内存地址称为直接寻址方式。举例代码如下:
MOV DWORD PTR [00403000], 12345678MOV EAX, DWORD PTR [00403000]
在上面的指令中,重点观察第二条指令,第二条指令是将内存地址为00403000处的4个字节的值传送到EAX寄存器中。请在OD调试器中调试以上两条汇编指令。
(2)寄存器间接寻址
操作数的地址由寄存器给出,这里的地址指的是内存地址,而实际的操作数存储在内存中。举例代码如下:
MOV DWORD PTR [403000], 12345678MOV EAX, 00403000
上面3条指令执行完成后,EDX寄存器取到了内存地址为00403000处的值,即12345678。
(3)其他
除了立即数寻址和寄存器寻址外,其余的寻址方式所寻找的操作数均在内存当中。除了直接寻址和寄存器间接寻址外,还有寄存器相对寻址、变址寻址、基址变址寻址、比例因子寻址等,这里不再一一进行介绍。下面给出其他几种寻址方式的形式,而不再介绍其具体的
名称,需要详细掌握寻址可自行参考汇编相关书籍。其他的寻址方法的形式如下:
①[寄存器+立即数]
②[寄存器+寄存器+数据宽度(1/2/4/8)]
③[寄存器+寄存器×数据宽度(1/2/4/8)+立即数]


特别分享几款实用软件:

Windows 10 Version 21H2 官方MSDN正式版光盘系统

链接:https://mdl.ink/QMcJl0

密码:2212

公文写作神器 v2.8.2.21一款功能强大的写作FZ软件.exe

链接:https://mdl.ink/K7Z7Fu

密码:7263


CyberLink Screen Recorder Deluxe v4.3.0.19614 Win一款功能强大的屏幕录像工具.exe

链接:https://mdl.ink/T0mwQv

密码:5788


Adobe After Effects 2022集成大量脚本预设插件一键安装版本.rar

链接:https://mdl.ink/BwMCzl

密码:3628


Adobe Premiere Pro 2022集成大量脚本预设插件一键安装版本.exe

链接:https://mdl.ink/C7Gcbd

密码:0741


Setup Factory9.5一款专业的安装程序制作软件+教程

链接:https://mdl.ink/QZ6xQZ

密码:3882


Inno Setup(安装包制作软件) 6.2.0 增强版+(Inno安装包解包工具

链接:https://mdl.ink/NfSkPM

密码:1232

Advanced Installer v19.3 Win一个强大的MSI安装包制作工具

链接:https://mdl.ink/ExzMX6

密码:5851


Adobe Photoshop 2022集成插件一键安装封装版.exe

链接:https://mdl.ink/RjFIBr

密码:2280


狸窝AI照片处理软件Leawo PhotoIns 3.0.0.0 WIN中文版一款专业的人工智能照片增强器.exe

链接:https://mdl.ink/OLEIpc

密码:2971


旧照片修复软件PhotoVINTAGE 3.15一款可以修复划痕边缘撕裂提高照片清晰度着色照片恢复软件.exe

链接:https://mdl.ink/BQFTAu

密码:0373


硬盘哨兵Hard Disk Sentinel Pro v6.0.1.0一款硬盘驱动器监视HDDSSD监控和分析硬盘哨兵磁盘检测工具.exe

链接:https://mdl.ink/N91dVD

密码:5997


Picture Colorizer Pro 3.1.0一款旧的黑白照片进行智能AI上色软件.exe

链接:https://mdl.ink/E0YBjO

密码:8302


万能音视图格式转换软件支持市面上90%的图片音频视频格式转换.exe

链接:https://mdl.ink/E09t48

密码:6077


Perfectly Clear Workbench一款人工智能批量自动分析照片并修复调色矫正人脸监测图像清晰处理照片软件.exe

链接:https://mdl.ink/sTNfKI

密码:8471


WiseAutoShutdown一款非常实用的电脑定时关机重启休眠的软件.exe

链接:https://mdl.ink/Ox6s75

密码:8795


Print Conductor v8.0.2203.14130一款图片文件批量打印工具打印机必备工具.exe

链接:https://mdl.ink/NLO7ZU

密码:5886


Qalculate(计算器)一款专业强大的电脑科学计算器.exe

链接:https://mdl.ink/C03HsB

密码:1259


MusicTools2.0一款全网付费音乐免费下载软件.exe

链接:https://mdl.ink/SB08Ac

密码:5302


Co re l 一款专业、高效的影视后期视频编辑处理软件.rar

链接:https://mdl.ink/R8aiwy

密码:5587


ShanaEncoder v5.3.1.0 一款可以最大限度的把视频压缩到最小的体积而不伤害视频本身的画质全能视频无损压缩转换器.exe

链接:https://mdl.ink/C4Ymht

密码:4000



最后给读者一些学习汇编指令的建议。要自行学习一个汇编指令,至少需要掌握指令的参数、影响的标志位和指令支持的寻址方式。如果要更深入地掌握一条汇编指令,就需要掌握指令消耗的CPU时间、指令机器码的长度等。对于指令消耗的CPU时间来说,对程序进行优化时是非常有用的。而掌握指令的长度会用在某些苛刻的环境中,比如缓冲区溢出技术中,为了解决缓冲区小的情况,就需要使用更短字节码的汇编指令了。
本文的重点是讨论逆向工具,希望在逆向相关领域有一定的发展,就必须深入学习和掌握汇编语言,这样在今后的学习中才会更加游刃有余。

评分

参与人数 18HB +15 THX +7 收起 理由
隔壁老樊 + 1
花盗睡鼠 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 1
后学真 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
风里去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
图神魄 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
凌夏随缘 + 1
于理 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
雷神来了 + 2
agan8888 + 1
武清一点点 + 1 + 1
一蓑烟雨 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
dujinshanD + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
空白001 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
董先生 + 1 + 1
ldljlzw + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
CYTNRFji381 发表于 2022-3-23 15:30 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
YKkUuXp10 发表于 2022-3-23 15:51 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
CAemdn4780 发表于 2022-3-23 15:53 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
SCGNZkMfvRec 发表于 2022-3-23 15:54 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
KhnfGoBV 发表于 2022-3-23 15:54 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
DzOqvIoNAW 发表于 2022-3-23 15:59 | 显示全部楼层

不可多得,支持楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
EPdkrKb710 发表于 2022-3-23 16:07 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
UpjaxeJ67380 发表于 2022-3-23 16:08 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
LSABYgo2164 发表于 2022-3-23 16:45 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!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

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