滴水逆向p8 p9

    一.    考核实操                                                                                                                                           

 

                                

   

                               

  

 二.笔记

p8.内存地址-堆栈

1.2.计算机的寻址方式

  1. [立即数]

    (1) mov指令实现向内存中读写数据

    例:

    mov eax,dword ptr ds[内存编号]

    mov dword ptr ds[内存编号],eax

    (2)lea实现获取内存编号

    例:lea dword ptr ds[内存编号],eax

  2. [任意寄存器]

    (1)读

    mov eax,地址编号

    mov ecx,dword ptr ds[eax] 在ecx中得到地址

    (2)写

    mov eax,0x11FFD8

    mov dword ptr ds[eax],0x12345678 把12345678写入编号为0x11FF78的内存中。

    (3)获取内存编号

    lea eax,dword ptr ds:[edx] 把edx中的数据代表的内存的内存编号写入eax,区别于

    mov eax,dword ptr ds:[edx] 把edx中的数据代表的内存中的值存入eax

  3. [reg+立即数(十六进制)]

    语法同上,立即数的作用为将结果地址在原地址的基础上加改立即数

  4. [reg+reg*{1,2,4,8}(大括号中1248不可改变)]

    与3类似,线性关系

  5. [reg+reg*{1,2,4,8}+立即数]

    同上

2.堆栈

一种临时存储大量数据的方式

 

  1. 压入数据

    设置栈底,栈顶

    (1)mov dword ptr ds:[edx-4],0xAAAAAAAA

    sub edx,4

    (2) sub edx,4

mov dword ptr ds[edx],0xAAAAAAAA

(3)mov dword ptr ds:[edx-4,]0xddddddd

lea edx,dword ptr ds:[edx-4]

(4) lea edx,dword ptr ds:[edx-4]

mov dword ptr ds:[edx,]0xddddddd

2.读取第n个数

通过栈底加偏移或栈顶加偏移

3.弹出

压入的逆过程

4.push即压入数据整个过程

pop即弹出数据

此时默认ESP为栈顶ebp为栈底

push立即数时减四位,push寄存器时至少从十六位开始,减的数字与寄存器的宽度有关32位寄存器减4,16位减2,内存同理

pushed将八个寄存器都存入堆栈,此时可任意修改,若要恢复寄存器原本的值,则使用poped

p9.标志寄存器   32位

 

1.进位标志CF

如果运算结果的最高位产生了一个借位或进位那么,其值为1,否则为0

针对无符号运算,超过FF则溢出

 2.奇偶标志PF

用于反映运算结果中“1”个数的奇偶性“1”有偶数个则为1否则为0。

3.辅助进位标志AF

以下两种情况为1,否则为零

(1)在字操作时,发生低字节向高字节进位或借位

(2)在字节操作时,发生低四位向高四位进位或借位

4.零标志ZF

用来反映运算结果是否为0,为零则ZF为1,否则为0

注:mov不改变标志位,仅为赋值,xor可影响寄存器

5.符号标志SF

反映运算结果的符号位,他与运算结果的最高位(二进制)相同

6.溢出标志OF

反映有符号加减运算所得结果是否溢出溢出为1,否则为0.

针对有符号运算,正数+正数超过7F,负数+负数超过FF,则溢出

正数加负数永不溢出

两边不同为内存,宽度一样

 ADC带进位加法

sbb带借位减法

xchg交换数据

两边都为内存

movs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值