2012-10-26 35 views
1

在内存中,程序代码是否是只执行的,而数据区是只读的。这是不是这种情况?内存内容模式

+1

实际上你已经得到了它 - 操作系统不区分代码和数据。如果你不介意我问,是什么让你认为是这种情况? –

+0

在我读过的关于Base/Bounds寄存器的书中,所以我也许他们没有使用当前的操作系统。不是吗? – Webber

回答

0

实际上很少有这种情况,特别是如果您正在查看主流操作系统(如Microsoft Windows或Linux)。

恶意软件的一个非常常见的攻击媒介是buffer-overflow,由此恶意攻击者强制程序写入超过数据结构的末尾,并覆盖程序代码。

你也可以编写self-modifying programs用新代码覆盖自己。

0

在现代操作系统中,W xor X默认启用。但是,将页面保护更改为允许W和X是非常容易的。