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

相关推荐
爱蛙科技9 分钟前
如何精准选择太阳光模拟器?
安全
saoys10 分钟前
Opencv 学习笔记:精准提取图像中的水平线 / 垂直线(形态学操作实战)
笔记·opencv·学习
NewCarRen11 分钟前
汽车安全威胁分析与风险评估技术及缓解方法
网络·安全·web安全
爱冒险的熏肉大饼11 分钟前
ctf.show__Web应用安全与防护(第一章)
安全·ctfshow
Whoami!13 分钟前
❿⁄₁₀ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击实践 ➱ 获取并破解NTLM哈希
网络安全·信息安全·密码破解·mimikatz·ntlm哈希
码农阿豪14 分钟前
Redis键值对批量删除全攻略:安全高效删除包含特定模式的键
数据库·redis·安全
半路_出家ren15 分钟前
20.基于Selenium实现界面自动化控制
运维·python·selenium·测试工具·网络安全·自动化·chromedriver
计算机毕业设计指导15 分钟前
恶意网址检测系统
python·web安全·网络安全·系统安全
Derrick_itRose15 分钟前
DevExpress笔记WPF(2)Data Editors and Controls(基础编辑器)
笔记·编辑器·wpf
不爱学英文的码字机器16 分钟前
数据不出域!用 Atlas 800T 激活 Llama-3,打造安全可控的 QA 生产工厂
安全·llama