关于动态修改text段内存的问题?vm_protect返回失败!

在ios 13下,在mshook工程中,加入代码段,内存修改功能失败。想把汇编指令0x1002DAB14改为nop
void SetM()
{
NSLog( @ “hack dyld memory” );
kern_return_t kr;
uint32_t p = 0xd503201f;
__int64_t pp;
vm_address_t address = (__int64_t)(g_slide + 0x1002DAB14);
vm_region_basic_info_data_64_t info;
vm_size_t vmsize = 0;
mach_msg_type_number_t info_count;
memory_object_name_t object;
info_count=VM_REGION_BASIC_INFO_COUNT_64;
kr=vm_region_64(mach_task_self(),&address,&vmsize,VM_REGION_BASIC_INFO,vm_region_info_t)&info,&info_count,&object);
if ( (kr & VM_PROT_WRITE) == 0 )
{
address = (__int64_t)(g_slide + 0x1002DAB14);
NSLog( @ “hack OK protection 1” );
pp = (__int64_t)address;
NSLog( @ “hack OK memory %llx,%llx”,pp ,address);

   kern_return_t returnValue = vm_protect( mach_task_self(), address, sizeof(uint32_t), false, VM_PROT_READ | VM_PROT_WRITE | VM_PROT_ALL );    

// unsigned long px;
// px=( unsigned long
)(g_slide+0x1002DAB14);
// *px = set_log_level;
if ( returnValue != KERN_SUCCESS )
{
NSLog( @ “hack error protection 1” );
}
else
{
NSLog( @ “hack OK protection 2” );
}

}
else
{
    NSLog( @ "hack Error protection " );
}

}
控制台输出NSLog( @ “hack error protection 1” );
表示vm_protect这个函数没有执行成功,返回值为KERN_PROTECTION_FAILURE
不知道什么原因,难道代码我写理解错了?
不让我修改内存代码段?

越狱机?咋越狱的?