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

相关推荐
特种加菲猫11 分钟前
并发编程的守护者:信号量与日志策略模式解析
linux·笔记·策略模式
赶飞机偏偏下雨1 小时前
【Java笔记】单例模式
java·笔记·单例模式
GoldenaArcher1 小时前
OpenAPI Specification 系列笔记 III
笔记
厦门辰迈智慧科技有限公司1 小时前
水闸自动化监控系统解决方案
运维·服务器·物联网·安全·自动化·监测
happilyaaa2 小时前
B站 韩顺平 笔记 (Day 27)
笔记
房屋安全鉴定检测4 小时前
房屋安全鉴定注意事项
安全·网络安全
房屋安全鉴定检测4 小时前
房屋安全鉴定机构服务内容
安全·网络安全
我真的是大笨蛋7 小时前
K8S-Pod(下)
java·笔记·云原生·容器·kubernetes
碳水加碳水7 小时前
Java代码审计实战:XML外部实体注入(XXE)深度解析
java·安全·web安全·代码审计
晓衣9 小时前
2025“獬豸杯”全国电子数据取证竞赛-k8s服务器取证wp
服务器·经验分享·程序人生·网络安全·容器·kubernetes·学习方法