Giriş
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
#include <sys/mman.h>
mmap ile bellek alanı ayrılır. Şöyle yaparız.size_t size = ...;
void *ptr = mmap(0, size, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
if (ptr == MAP_FAILED) {
fprintf(stderr, "%s\n", "mmap failed");
return NULL;
}
unsigned char code[] = {...}
memcpy(memory, code, sizeof(code));
if (mprotect(ptr, size, PROT_READ | PROT_EXEC) == -1) {
fprintf(stderr, "%s\n", "mprotect failed");
return -1;
}
Hiç yorum yok:
Yorum Gönder