I have implemented monkey_arm64.go jmpToFunctionValue. Now trying to compile and execute my code on a Mac M1.
I am getting an exception when making a call to syscall.Mprotect (syscall.PROT_WRITE). Do you know how to fix this problem?
func mprotectCrossPage(addr uintptr, length int, prot int) {
pageSize := syscall.Getpagesize()
for p := pageStart(addr); p < addr+uintptr(length); p += uintptr(pageSize) {
page := rawMemoryAccess(p, pageSize)
err := syscall.Mprotect(page, prot) //syscall.PROT_READ|syscall.PROT_WRITE|syscall.PROT_EXEC
if err != nil {
panic(err)
}
}
}
I have implemented monkey_arm64.go jmpToFunctionValue. Now trying to compile and execute my code on a Mac M1. I am getting an exception when making a call to syscall.Mprotect (syscall.PROT_WRITE). Do you know how to fix this problem?