
Key RequiredUniversal

#include <sys/mman.h>
#include <unistd.h>
#include <stdint.h>
#include <stddef.h>
void patch(void* addr, uint8_t* data, size_t len) {
size_t pagesize = sysconf(_SC_PAGESIZE);
uintptr_t page_start = (uintptr_t)addr & ~(pagesize - 1);
mprotect((void*)page_start, pagesize * 2, PROT_READ | PROT_WRITE | PROT_EXEC);
for (size_t i = 0; i < len; ++i) {
((uint8_t*)addr)[i] = data[i];
}
}
int main() {
void* target = (void*)main;
uint8_t code[] = {0x90, 0x90, 0x90}; // NOPs
patch(target, code, 3);
return 0;
}No comments yet for this script.



