寄存器-内存访问笔记

1. 在执行POP的时候,首先获得数据,然后指针上移一个字

 pop ax

 sp=sp+2

但是数据还是存在的 ,只有PUSH的时候 他才会被覆盖掉

有点像 硬盘格式化后还可以恢复,硬盘的格式话,并没有真正的删除数据,只是索引重置了,

当前格式化分低格和高格,不一样的,  深度格式化的话  就不会被恢复的。

或者借助专门的格式化工具进行不段的覆盖这样也是难恢复的,不然就艳照门了~


2.栈溢出

黑客利用栈的溢出可以进行攻击,也就是这个栈了。

栈溢出是危险的

C、C++会出现没有数据检查,但是JAVA  c#低层有对数据的溢出检查

CPU只知道栈顶 ,栈顶栈底 多大他不知道,

SP指向的就是栈顶  就想 CS:IP 指向的就是指令一样

段寄存器不能直接和数据发生关系, 需要通过通用寄存器来间接产生关系


你可能感兴趣的:(java,c,C#,化工)