综述

计算机组成上的实验内容
最近考试太多了,所以没时间详细讲解。暂时先留坑。

过程

计算机组成实验
反汇编——内存溢出攻击
[说明]
首先要说明的是小段模式:也即
比如要输入 01 02 03 04
你的16进制输入应该为04 03 02 01
查看touch1的地址

内存溢出攻击
栈pop的时候去的是上面这两个
一个是取到r7中 一个取到pc中
未特别处理前:
内存溢出攻击
内存溢出攻击

66880就是0x00010540;
所以我们的目标是 将这两个数据改动(一个其实是作为了参数 另一个作为函数调用的地址)
修改为: 0x00010540 0x00010541
内存溢出攻击

成功
内存溢出攻击
第三题:
最后结果要和20比较 请看 ida
内存溢出攻击
【关键是学会查看pc的值】
内存溢出攻击

首先是 1+2+3+4+5 再+6;
内存溢出攻击
我们把6改成五,即根据他要取的地址我们将结果改掉: 6-> 5
更改后:
内存溢出攻击
这时候结果返回为20;完成!
内存溢出攻击
内存溢出攻击
第4题
将执行代码放到哪个缓冲区中,在跳转的时候跳到那个位置,然后在缓冲区可执行代码最后加入修改R15,跳回。
有两种思路,一种是改大数,一种是改小数。

相关文章: