因此,假设我可以访问一个进程及其 mm_struct,有没有一种方法可以更改其中一个映射或删除一个映射并创建一个临时映射,以便我可以分配小于页面的数量并写入内存那?
例如,处理 ADD 指令上的写入错误。我可以相对容易地获得故障的地址和大小。我在本地分配了 8 个字节(最大的单指令大小)并弄乱了映射,以便出错的虚拟地址指向这 8 个字节的第一个字节。然后单步执行指令以获取用于另一个页面的数据,然后将原始页面恢复回映射。我只是好奇是否可以在进程的虚拟内存区域中使用页面以外的东西。
因此,假设我可以访问一个进程及其 mm_struct,有没有一种方法可以更改其中一个映射或删除一个映射并创建一个临时映射,以便我可以分配小于页面的数量并写入内存那?
例如,处理 ADD 指令上的写入错误。我可以相对容易地获得故障的地址和大小。我在本地分配了 8 个字节(最大的单指令大小)并弄乱了映射,以便出错的虚拟地址指向这 8 个字节的第一个字节。然后单步执行指令以获取用于另一个页面的数据,然后将原始页面恢复回映射。我只是好奇是否可以在进程的虚拟内存区域中使用页面以外的东西。