我想通过使用 mprotect 来保护特定的内存区域。
所以我编写了代码来提供一个虚拟地址来保护,但 mprotect 不起作用。
我的代码有问题吗?
这是我的代码。
int main(int argc, char *argv[]) {
size_t vaddr = strtoull(argv[1], NULL, 0); //./a.out 0xffff880446ced000
printf("addr : %p\n", vaddr);
if(mprotect(vaddr, 0x1000, PROT_READ | PROT_WRITE)==-1) {
printf("mprotect error\n");
return 0;
}
return 0;
}