Giriş
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
#include <sys/mman.h>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