ASLR(Address Space Layout Randomization)이 비활성화된 Linux에서 일부 프로그램을 실행하고 싶습니다. 시스템 수준에서는 비활성화되어 있다는 것을 알고 있습니다. 즉, /proc/sys/kernel/randomize_va_space
0으로 설정되어 있습니다.
/proc/sys/kernel/randomize_va_space
하지만 관리자 권한이 없기 때문에 값을 변경할 수 있는 권한이 없으며 , 관리자가 내 요청을 수락하지 않습니다. 그래서 나는 내 자신의 프로세스에 대해 그것을 비활성화하고 싶습니다. 가능합니까?
답변1
나는 당신이 이것을 할 수 있다고 생각합니다 :
- 분기된 프로그램 작성
포크 후에는 다음과 같은 작업을 수행해야 합니다.
int old, rc; old = personality(0xffffffff); /* Fetch old personality. */ rc = personality(old | ADDR_NO_RANDOMIZE); if (-1 == rc) { perror("personality"); }
그런 다음
exec
프로그램