Допустим, у меня есть доступ к процессу и его mm_struct, есть ли способ, которым я могу изменить одно из отображений или удалить отображение и создать временное, чтобы я мог выделить сумму меньше, чем страница, и иметь память написана к этому?
Например, ошибки записи процесса в инструкции ADD. Я могу получить адрес и размер ошибки с относительной легкостью. Я выделяю 8 байтов локально (наибольший размер одной инструкции) и связываюсь с отображениями так, чтобы виртуальный адрес, который отказал, указывал на первый байт из этих 8 байтов. Затем выполните один шаг инструкции, чтобы получить данные, предназначенные для другой страницы, а затем восстановите исходную страницу обратно в отображение. Мне просто любопытно, можно ли использовать что-то кроме страницы в области виртуальной памяти для процесса.