复位后,x86“32位”中的软复位是否清除RAM?

时间:2016-04-13 19:43:11

标签: assembly x86 ram general-protection-fault

我正在使用Intel Quark SoC,并且在发生三重故障后尝试从RAM中读取一些数据。我在重置之前保存了一些数据,并希望在程序重启后读取它。这是可能的还是RAM被清除了?

1 个答案:

答案 0 :(得分:-3)

这取决于操作系统。在Linux中有像PaX这样的补丁,可以在释放内存时清除内存。计算机本身并没有清除任何东西,这就是为什么你不能信任一个可变的初始值。甚至可以在计算机关机的情况下从RAM中恢复数据:http://tdistler.com/2008/02/21/data-in-ram-can-be-recovered-after-power-off

如果您可以使用固定的物理地址来存储您的信息,则可以在重新启动时恢复它。如果您在没有ring0级别(内核驱动程序权限)的操作系统(如Windows)中运行,则在重新引导之前,您将无法找到数据的存储位置。

举一个例子,Playstation 3的其中一个黑客在重新启动控制台后依赖于内存修改的生存。