如题。 因为我的手机已经越狱了,无法验证。
mach_vm_protect 函数不允许可写可执行的页面设置。
vm_fault_check 又会对发现缺页中断的页面做检查。
写的那个瞬间会貌似不一定触发vm_fault_check。 因为如果页面已经映射在物理内存了,就不会发生缺页中断。 不知道我的理解是否有误。
如题。 因为我的手机已经越狱了,无法验证。
mach_vm_protect 函数不允许可写可执行的页面设置。
vm_fault_check 又会对发现缺页中断的页面做检查。
写的那个瞬间会貌似不一定触发vm_fault_check。 因为如果页面已经映射在物理内存了,就不会发生缺页中断。 不知道我的理解是否有误。
没用过vm_fault_check函数,也不知道是干嘛用的。
但是本进程内应该是hook不到其他进程的,沙盒不允许这么做
本进程hook自己进程的函数(arm指令级别)。。 非越狱。可以的?
xnu的代码看到云里雾里的。
hook自己进程的函数是可以的,你google一下“method swizzling”
arm指令级别。 hook自己进程的函数。
Method method = class_getInstanceMethod(cls, sel_registerName(methodName));
method_setImplementation(method,(IMP)replaceAddress);
arm指令级别的inline hook. 不是这种标准的基于runtime的函数地址替换。
试试vm_protect需要被替换的地址做参数,设置成rw