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

相关推荐
闵孚龙4 分钟前
Claude Code 沙箱系统全解析:Seatbelt、Bubblewrap、AI Agent 安全隔离、权限治理与企业级防护
人工智能·安全
Genevieve_xiao19 分钟前
【xjtuse】【数学建模】课程笔记(六)线上学习
笔记·学习·数学建模
晓梦林23 分钟前
HiddenGate靶场学习笔记
笔记·安全·web安全
闵孚龙25 分钟前
Claude Code CLAUDE.md 用户指令覆盖层全解析:AI Agent 记忆系统、上下文工程、规则分层、团队协作与安全治理
人工智能·安全
程序猿编码29 分钟前
并发SSH口令审计器:多进程协作的安全检测工具设计与原理(C/C++代码实现)
c语言·安全·ssh
YIN_尹32 分钟前
关于论文《FLUSH+RELOAD:一种高分辨率、低噪声的L3缓存侧信道攻击》的理解
安全·缓存·系统安全·缓存侧信道攻击
云游牧者1 小时前
K8S安全框架深度解析-从认证到RBAC实战完全指南
安全·容器·kubernetes·rbac·kubeconfig·rolebinding
X7x51 小时前
网络入侵检测系统(NIDS):企业网络安全的守望者
网络安全·网络攻击模型·安全威胁分析·安全架构·nids
智者知已应修善业1 小时前
【74ls138+74ls00传送带故障报警】2024-1-9
驱动开发·经验分享·笔记·硬件架构·硬件工程
ljt27249606611 小时前
Vue笔记(四)--组件基础
前端·vue.js·笔记