不是hook 有没办法直接跨进程内存地址读取类成员的值~
可以。获得那个进程的mach_task之后直接读虚拟内存。
1 个赞
那要怎么获得成员地址呢 不是每次重启进程后 地址都会变化
暴力搜索啊。
我本来应该回答你做不到来着
这个方式只能直接访问内存,任何操作都需要直接读写内存
饿 谢了 我慢慢研究去
并且很显然就算是这个方法也只能越狱设备使用,否则就是个巨大的安全隐患。
如果你找到了不越狱获取其他进程machtask的方法记得告诉我我要去卖漏洞了: )
- -感谢提醒
越狱之后 iOS能跨进程修改内存?
进程应该都是在自己的虚拟内存空间吧。
不过,内核空间是共用的……(需要去找找资料了)
是的可以。通过taskforpid获取【需要同名Entitlements
1 个赞
如果感到眼熟的话。
记得lldb和debugserver吗: )
然后拿到的task是vm_read , vm_write,etc的第一个参数,剩下的应该很明显了?
taskforpid0拿到的是内核没记错的话,获得了这个machtask就拥有了读写内核的权限。
一些安全相关的paper/slide里提到的tfp0 patch指的就是patch相关的地方让你能拿到这个
EDIT: 还是比较难懂的话晚点我来写点东西班门弄斧一下
知道debugserver了。
不过还是支持班门弄斧一下。