Nasm - «реальная» случайность через неинициализированные переменные? - PullRequest
1 голос
/ 05 октября 2019

Я пытаюсь построить генератор чисел в Nasm. Для этого я хотел бы объявить несколько «переменных» (я знаю, что в Nasm есть только метки, а не переменные), но не определять их. Проблема в том, что при объявлении переменных в .bss они автоматически null инициализируются.

Мой вопрос:
Есть ли способ позволить переменным сохранить значения, которые имела зарезервированная память, до того, как они инициализируются null?

ОС - это Windows.

1 Ответ

6 голосов
/ 05 октября 2019

Нет. По соображениям безопасности операционная система очищает все страницы памяти, которые она отображает в вашем процессе.

Подумайте об использовании инструкции rdrand, если у вас достаточно новый процессор. Также можно использовать функцию CryptGenRandom из Win32 API.

...