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

相关推荐
仿生joe会梦见漫天的大雪吗1 小时前
CTF Misc 工具选型指南:按题型分类的工具、原理与限制
后端·安全
QYR-分析1 小时前
工业安全无线遥控器:5.4% 稳步增长,起重与移动机械的安全控制终端
安全
wujiuhsu1 小时前
图片里的简体中文怎么翻译成繁体?商品图、详情页和海报批量转换方法
经验分享·笔记
研发小能3 小时前
金融行业 DevSecOps 解决方案:把安全内建到研发全流程
安全·金融·devops·嘉为蓝鲸
xjxijd4 小时前
AI 安全进入爆发周期:智能体安全成下一阶段核心竞争高地
人工智能·安全·ai
keyipatience4 小时前
JS学习笔记(2)数组,函数,作用域,对象
前端·javascript·笔记·学习·html
你想知道什么?5 小时前
词向量总结-学习笔记
人工智能·笔记·学习
He BianGu5 小时前
【笔记】WPF中RenderOptions类的详细功能
笔记·wpf
用AI来创业吧5 小时前
网站建设公司哪家好:报价差 3 倍,差在哪四项成本上(选型笔记)
笔记·性能优化·软件工程·安全威胁分析
数字化转型分享点滴5 小时前
机加工MES落地先连设备还是先上工单?一份车间实施参考
python·安全