Voglio fare un chunck di memoria heap in sola lettura. Per quello che ho provato con memalign()
con mprotect()
. Ma dal punto di vista della memoria cosa posso ottenere, memalign alloca la memoria dall'heap del processo.come posso proteggere una memoria heap in linux?
Desidero rendere una parte dell'heap di sola lettura. Qualche aiuto su questo?
malloc()->mmap()->mprotect()
un pensiero ipotetico, ma non è sicuro se ciò può aiutare ... Qualsiasi codice di esempio da implementare sopra?
Ho bisogno di proteggere l'indirizzo di memoria all'interno dell'heap. con malloc() ottengo l'indirizzo intorno a 0x10012008 mentre con mmap() è 0xf7ec9000. La mia intenzione è di rendere una parte di heap-meory da leggere solo per catturare qualsiasi trampler che potrebbe tentare di eseguire quell'heap.
Posso suggerire di utilizzare 'MAP_ANONYMOUS' ed evitare l'intero' fopen() 'e.t.c. stranezza? – thkala
Minor nitpick: 'printf' non è [Async safe] (https://www.securecoding.cert.org/confluence/display/seccode/SIG30-C.+Call+only+asynchronous-safe+functions+within+ segnale + gestori) – Flexo