Собственно проблема описана в заголовке.


Пример кода который я пытаюсь исполнить:


#include <sys/mman.h>
#include <stdio.h>
#include <stdlib.h>

int main() {
char* code = malloc(4);
int i = 0;
code[i++] = 0x48;
code[i++] = 0x89;
code[i++] = 0xf8;
code[i++] = 0xc3;

printf("%i\n", mprotect(code,4,PROT_EXEC)); // напечатает -1


}



Грешил на то что виноват SELinux, но его в системе не было, что можно предпринять чтобы заставить mprotect,mmap и прочее работать?









 ,






URL записи