Итак, я играл с отладчиком Olly, обнюхивая все, что я еще могу узнать об окнах, и нажал кнопку M, и появилось окно карты памяти. Итак, я поискал в Google несколько статей на эту тему и обнаружил, что могу писать по адресам выше 64К, которые я пробовал и хорошо ... почему бы это не сработать. О тех нижних 2 ГБ пространства:
Почему есть эти пробелы? Например, есть 0x10000-0x1FFFF R / Wable пространство, затем 128K ничего, а затем просто читаемое пространство. Я имею в виду, что это уже правильно разбито на страницы, поэтому на самом деле не должно иметь значения, было ли что-то в прошлом, например, в физическом пространстве (не говоря уже о том, что 0x20000-0x40000 должен быть полностью разрешен для чтения / записи в любом случае), почему кто-то решил не использовать какое-то адресное пространство так беспорядочно? Скорее всего, я просто сбит с толку, потому что в этой карте памяти от olly debugger многие строки оставлены пустыми там, где в столбце написано «Содержит». Может быть, есть какая-то ссылка, которую я мог бы просто противопоставить этой карте памяти от olly и выяснить, какое пространство имеет какое назначение и, таким образом, выгружается или нет?
Предположим, я действительно ничего не напортачил с управлением памятью, можно ли писать программы для Windows, используя эту нижнюю память вместо использования кучи, или я могу столкнуться с некоторыми проблемами?
Спасибо, что прочитали этот вопрос.
ИЗМЕНИТЬ
А, здесь мы идем с тем, что находится по адресу 0x10000, и это также, вероятно, почему эта страница разрешена для записи.