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