Мягкий сброс в x86 "32-битной" очистки ОЗУ после сброса?

Я использую Intel Quark SoC и пытаюсь прочитать некоторые данные из оперативной памяти после тройной ошибки. Я сохраняю некоторые данные до сброса и хочу прочитать их после перезапуска моей программы. Возможно ли это или ОЗУ очищено?

1 ответ

Это зависит от операционной системы. В Linux есть патчи, такие как PaX, которые могут очистить память после освобождения. Компьютер сам по себе ничего не очищает, поэтому нельзя доверять начальному значению переменной. Даже возможно восстановить данные из ОЗУ при выключенном компьютере: http://tdistler.com/2008/02/21/data-in-ram-can-be-recovered-after-power-off

Если вы можете использовать фиксированный физический адрес для хранения вашей информации, его можно восстановить после перезагрузки. Если вы работаете в операционной системе (например, Windows) без уровня ring0 (разрешения драйвера ядра), вы не сможете найти, где ваши данные хранились до перезагрузки.

Чтобы привести пример, один из взломов Playstation 3 полагался на выживание модификации в памяти после перезагрузки консоли.

Другие вопросы по тегам