0

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;
}
4

0 に答える 0