Chcę zrobić chunck z pamięci sterty tylko do odczytu. Do tego próbowałem z memalign()
z mprotect()
. Ale z memalignment, co mogę dostać, memalign przydziela pamięć z dala od sterty procesu.Jak mogę chronić pamięć sterty w systemie Linux?
Chcę, aby część sterty była tylko do odczytu. Jakaś pomoc w tej sprawie?
malloc()->mmap()->mprotect()
hipotetyczna myśl, ale nie wiesz, czy to może pomóc ... Jakiś przykładowy kod do wdrożenia powyżej?
Potrzebuję chronić adres pamięci w stercie. z malloc() otrzymuję adres około 0x10012008, natomiast przy mmap() jest to 0xf7ec9000. Moim zamiarem jest uczynienie fragmentu heap-meory tylko do odczytu, aby złapać dowolny tramper, który mógłby spróbować uruchomić przez tę stertę.
Mogę zasugerować użycie 'MAP_ANONYMOUS' i unikanie całego' fopen() 'e.t.c. niesamowitość? – thkala
Drobna nitpick: 'printf' nie jest [Asynchroniczne bezpieczne] (https://www.securecoding.cert.org/confluence/display/seccode/SIG30-C.+Call+only+asynchronous-safe+functions+within+ signal + handlers) – Flexo