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

相关推荐
KKKlucifer32 分钟前
数据安全管控产品选型排名与深度解析
网络·安全
其实防守也摸鱼2 小时前
软件安全与漏洞--软件安全编码与防御技术理论题库
开发语言·网络·安全·网络安全·软件安全·软件安全与漏洞
极创信息2 小时前
Linux挖矿病毒深度清理实战教程,从进程隐藏、Rootkit驻留到彻底根除
java·大数据·linux·运维·安全·tomcat·健康医疗
数据知道2 小时前
指纹浏览器本地存储“孤岛化”:IndexedDB、LocalStorage、SessionStorage 的安全隔离
爬虫·安全·数据采集·指纹浏览器
xhtdj3 小时前
智源大会圆桌大模型没有终局具身智能可能是中国的 AlphaGo 时刻
人工智能·clickhouse·安全·动态规划
HavenlonLabs3 小时前
区块链解决信任分布,AI 需要解决能力控制
人工智能·安全·区块链
MartinYeung53 小时前
[论文学习]大型语言模型(LLM)安全与隐私-基于善、恶、丑的深度分析
学习·安全·语言模型
独泪了无痕3 小时前
Vue3中防御XSS攻击的“特效药”-DOMPurify
前端·vue.js·安全
hhcgchpspk4 小时前
汇编语言传递数据和地址的误区
汇编·笔记·nasm·masm
智者知已应修善业4 小时前
【51单片机2个外部中断显示中断历时,初始化8左移3位共阳数码管】2024-6-6
c++·经验分享·笔记·算法·51单片机