2
我试图让一些内存可执行文件(在Mac OS 10.6上),并且我怀疑mprotect()在默默地失败。鉴于一页内存的地址,我如何检查它实际上是否标记为可执行文件?如何在给定的内存页面上找到保护?
我试图让一些内存可执行文件(在Mac OS 10.6上),并且我怀疑mprotect()在默默地失败。鉴于一页内存的地址,我如何检查它实际上是否标记为可执行文件?如何在给定的内存页面上找到保护?
使用vmmap得到输出是这样的:
Stack 00007fff6276e000-00007fff62f6d000 [ 8188K 8K 8K] rw-/rwx SM=PRV thread 0
Stack 00007fff62f6d000-00007fff62f6e000 [ 4K 4K 4K] rw-/rwx SM=COW thread 0
__TEXT 00007fff62f6e000-00007fff62fa3000 [ 212K 212K 0K] r-x/rwx SM=COW /usr/lib/dyld
__DATA 00007fff62fa3000-00007fff62fa5000 [ 8K 8K 8K] rw-/rwx SM=COW /usr/lib/dyld
__DATA 00007fff62fa5000-00007fff62fdf000 [ 232K 28K 28K] rw-/rwx SM=COW /usr/lib/dyld
的可能重复的[检索其自己的进程的存储器映射在OS X 10.5/10.6](http://stackoverflow.com/questions/1627998/检索最内存映射 - - 它-自己 - 处理 - 在-OS-X-10-5-10-6) – duskwuff 2013-06-18 23:32:42