2010-08-19 69 views
2

我試圖讓一些內存可執行文件(在Mac OS 10.6上),並且我懷疑mprotect()在默默地失敗。鑑於一頁內存的地址,我如何檢查它實際上是否標記爲可執行文件?如何在給定的內存頁面上找到保護?

+0

的可能重複的[檢索其自己的進程的存儲器映射在OS X 10.5/10.6](http://stackoverflow.com/questions/1627998/檢索最內存映射 - - 它-自己 - 處理 - 在-OS-X-10-5-10-6) – duskwuff 2013-06-18 23:32:42

回答

1

使用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