2014-09-18 79 views
0

我需要掃描我的程序的調用進程的整個內存,並單獨檢查哪些塊是隻讀的,可讀寫的或不可訪問的。這聽起來很直截了當,但我無法入門。我想知道是否有人可以通過提供相關功能來掃描調用進程的內存來指向正確的方向在C/UNIX中掃描內存

例如,首先,我將如何獲取調用進程的開始和結束內存地址?

回答

1

這可能是內核相關的,但是Linux上的/ proc文件系統可以訪問它:

/proc/[pid]/mem是一個進程的內存中的內容,所以你只需要確定你的父進程的PID,如果你有權訪問您可以掃描它。

該文件的實際佈局將取決於可執行文件的類型和內核。

http://linux.die.net/man/5/proc

+0

ptrace的也可以是有用這裏 – kch 2014-09-19 04:54:15

+0

我來說,我對過程內省的'/ proc'文件系統的一個巨大的風扇。所有這些自省API都可以作爲文件訪問,這對我來說更容易處理。 – PaulProgrammer 2014-09-19 13:52:57