![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
逆向工程
snowfox373
这个作者很懒,什么都没留下…
展开
-
5.变址寄存器-ESI和EDI寄存器与其用途
变址寄存器 顾名思义,变址的含义是内存地址会变动的,也就是说变址寄存器中存放在变动的内存地址。80386架构中有两个变址寄存器,分别是ESI和EDI。ESI和EDI寄存器:(1)ESI:ESI称为源变址寄存器,通常存放要处理的数据的内存地址。(2)EDI:EDI称为目的变址寄存器,通常存放处理后的数据的内存地址。ESI和EDI寄存器的用途 ESI和EDI常用来转载 2015-10-27 22:28:15 · 5728 阅读 · 0 评论 -
8.6种灵活的寻址方式与其作用
(1) 立即寻址示例:Mov eax,56H作用:通常用于赋值。(2) 直接寻址示例:Mov eax,[12558878H]作用:通常用于处理变量。(3) 寄存器寻址示例Mov eax,[edi]作用:地址在寄存器中。(4)寄存器相对寻址示例Mov EAX,[EDI+32H]作用:常用于访问数组和结构。转载 2015-10-27 22:58:47 · 1323 阅读 · 0 评论 -
6.指针寄存器-EBP和ESP寄存器与其用途
指针寄存器80386的指针寄存器有基址寄存器EBP,堆栈指针寄存器ESP和指令指针寄存器EIP。只需要了解基址寄存器EBP和堆栈指针寄存器ESP即可,指令指针寄存器EIP总是指向下一条要执行的指令的地址,一般情况下无需修改EIP。EBP和ESP寄存器(1)EBP:EBP称为基址寄存器,可作为通用寄存器用于存放操作数,常用来代替堆栈指针访问堆栈中的数据。(2)ESP:ESP称转载 2015-10-27 22:36:22 · 1048 阅读 · 0 评论 -
7.标志寄存器-EFLAGS寄存器与其用途
标志寄存器EFLAGS一共有32位,在这32位中大部分是保留和给编写操作系统的人用的,一般情况下只需知道32位的低16位中的8位即可,图1-3列出了标志寄存器EFLAGS中需要了解的8个位的位置。* OF(Overflow Flag):溢出标志,溢出时为1,否则置0。* DF (Direction Flag):方向标志,在串处理指令中控制信息的方向。* IF (Interrupt Fl转载 2015-10-27 22:46:26 · 1170 阅读 · 0 评论 -
9.高级语言中的数据结构和80386寻址方式的关系
一般高级语言中的数据结构和寻址方式有一定的关系,熟悉这些关系对逆向分析反汇编指令有很大的帮助。表1-1所示为高级语言中的数据结构和80386寻址方式的关系。转载 2015-10-30 19:00:45 · 606 阅读 · 0 评论 -
10.80386指令-Intel格式和AT&T格式的指令格式
80386指令 观察一下Intel 的80x86 CPU文档手册会发现,Intel的80x86 CPU支持几百条指令,如此多的指令莫说深入研究,连入门恐怕也非易事。 幸运的是,在这几百条的指令中,常用的也不过几十条而已,Intel 的80x86 CPU之所以支持几百条指令,原因在于Intel 的80x86 CPU为了保持向下兼容的问题,所以从过去到现在的所有指令都包含在CPU里面,转载 2015-10-30 19:17:18 · 766 阅读 · 0 评论 -
11.数据传送指令MOV、XCHG效果
80386的数据传送指令是为了实现CPU和内存、输入/输出端口之间的数据传送。(1)MOV:称为数值传送指令,格式是“MOV DST,SRC”。(2)MOV指令将源操作数SRC传送到目的操作数DST中。(3)传送的数据格式可以是8字节、16字节和32字节。 示例代码:MOV EAX,56 //将56H立即数传送到EAX寄存器MOV ESI,D转载 2015-10-30 19:20:33 · 2454 阅读 · 1 评论