макет памяти процесса Windows

Итак, я играл с отладчиком Olly, обнюхивая все, что я еще могу узнать об окнах, и я нажал кнопку M, и появилось окно с картой памяти. Итак, я поискал в Google несколько статей по этой теме и обнаружил, что могу писать по адресам выше 64К, которые я пробовал и хорошо ... почему бы это не сработать. О тех нижних 2 ГБ пространства:

  • Почему там эти пробелы? Например, есть 0x10000-0x1FFFF R / Wable пространство, затем 128K ничего, а затем просто читаемое пространство. Я имею в виду, что это уже правильно выгружено, поэтому не должно иметь значения, было ли что-то в прошлом, например, в физическом пространстве (не говоря уже о том, что 0x20000-0x40000 должен быть полностью разрешен для чтения / записи в любом случае), почему кто-то решил не использовать какое-то адресное пространство так беспорядочно? Скорее всего, я просто сбит с толку, потому что в этой карте памяти от olly debugger многие строки остаются пустыми там, где в столбце написано «Содержит».Может быть, есть какая-то ссылка, которую я мог бы просто сопоставить с этой картой памяти от olly и узнать, какое пространство имеет какое назначение и, таким образом, выгружается или не выгружается таким образом?

  • Предположим, я действительно ничего не напортачил с управлением памятью , можно ли писать программы для Windows с использованием этой нижней памяти вместо использования кучи, или я могу столкнуться с некоторыми проблемами?

Спасибо, что прочитали этот вопрос.

РЕДАКТИРОВАТЬ

А здесь мы используем то, что находится по адресу 0x10000, и, вероятно, именно поэтому эта страница разрешена для записи.

5
задан Community 23 May 2017 в 12:00
поделиться