【发布时间】:2013-12-14 05:46:05
【问题描述】:
对于我的大学项目,我需要 WRITE 保护进程的整个地址空间。我正在阅读 /proc/self/maps 文件并解析映射。
因此,对于 08048000-0804c000 r-xp 00000000 08:03 7971106 /bin/cat 格式的每个条目,我正在读取前两个条目(此处为 08048000 & 0804c000),并将它们转换为十进制。假设十进制等价物分别是 A 和 B。然后我做 mprotect((int*)A, B-A, PROT_READ)。但是这种方法给了我分段错误。我无法找出我在这里做错了什么。可能是我在这里有一些知识差距导致了问题。有人可以给我一些建议吗?
【问题讨论】: