Re:从零开始的逆向笔记01day

0-汇编语言

运算

AND(&) OR(|) XOR(^) NOT(~) SHL(<<) SHR/SAR(>>)

加法计算:异或,与左移一位(重复)

通用寄存器
32位 16位 8位
EAX AX AL、AH
ECX CX CL、CH
EDX DX DL、DH
EBX BX BL、BH
ESP SP
EBP BP
ESI SI
EDI DI

注:AX、AL、AH分别表示EAX中的2个低位字节、1个低位字节和1个高位字节

内存

每个应用程序都会有自己的独立4GB内存空间

MOVE DOWRD/WORD/BYTE PTR DS:内存地址,立即数/32位通用寄存器

数据存储在ARM上采用大端模式(数据低位在高位地址中)

指令

MOVS指令默认使用ESI和EDI,执行完成后ESI、EDI的值会自增或自减(取决于DF位和传送数据的数据宽),按照数据宽度简写为MOVSB,MOVSW,MOVSD

STOS同理,将AL/AX/EAX的值储存到EDI指定的内存地址

REP MOVS指令/STOS指令,循环执行MOVS指令/STOS指令,次数取决于ECX中的值

窗口输入dd 7FFDF000即可看到堆栈的地址范围

堆栈

EIP存放CPU下次要执行的指令地址

平衡堆栈有两种情况三个方法:1.使用完堆栈后,POP释放数据;2.外平栈:使用ADD指令;3.内平栈:使用RET指令

ESP寻址:MOV EAX, DWORD PTR SS:ESP+4

EBP寻址:保存EBP的值,将EBP指向ESP的位置,在原来的堆栈基础上将ESP上移,变成新的堆栈

标志寄存器

条件标志位:SF(符号)、ZF(零)、OF(溢出有符号)、CF(进位无符号)、AF(辅助进位)、PF(奇偶)

控制标志位:DF、IF、TF

相关推荐
todoitbo6 分钟前
PDF 合并、转换也能自己部署:极空间运行 Stirling PDF,文件交给自己的服务器处理
网络安全·pdf·文件·nas·极空间
再卷还是菜9 分钟前
Kubernetes(k8s) 控制器的详细介绍与总结
笔记·学习·kubernetes
一次旅行21 分钟前
2026‑08‑28 AI产业深度解读|生成视频模型迭代、AI安全全线收紧、国产大模型生态加速落地
人工智能·安全
你想知道什么?27 分钟前
提示词工程-学习笔记
笔记·学习
上海心泾国际物流有限公司42 分钟前
去年秋天,我在闵行区为一批冷链货找仓库
经验分享·笔记·健康医疗·交通物流
STQY燊桐启元(深圳)电子科技1 小时前
大功率储能PCS散热升级,ST-PCM180氮化铝相变陶瓷适配高密度热管理
经验分享·笔记·pcm
上海广测检测科技有限公司1 小时前
路由器CRA认证详解:欧盟网络弹性法案对联网设备的安全合规要求
网络·经验分享·安全·智能路由器
_Narcissus_1 小时前
单调栈笔记及例题详解
数据结构·c++·笔记·算法·力扣·单调栈·洛谷
额,不知道写啥。2 小时前
从区间加一次函数到区间加多次函数最值-----区间数据结构与函数的一些东西(《浅谈函数最值的动态维护》的学习笔记)
数据结构·笔记·学习
LuminousCPP2 小时前
数据结构-二叉树(五):查找、销毁与前序序列建树
c语言·数据结构·笔记·二叉树