App是不是没有任何办法访问沙盒外的文件?

如题,
我试了 用 ln -s在沙盒中创建指向沙盒外的文件软链接,权限设为 777,也无法成功访问.
这个限制是不是没办法突破?

你在这个论坛问,设备是越狱前还是越狱后?

越狱后. 越狱前没办法执行这些文件操作吧:joy:

越狱后有三种操作

1 调用jailbreakd更改应用权限和沙箱标记位
2 自己写一个daemon
3 把app放在系统app位置

  • 越狱不等于没沙箱了
  • symbolic link wont cheat the amfid by Jake James
1 Like

amfid从坟墓里爬起来:有人喊我?
checkra1n又铲了一铲土:没有

3 Likes

好的多谢~ 我试试

所以用checkra1n 越狱的机器可以做到软链接效果?

相比unc0ver,chackra1n越狱开放的权限要更多

如果能拿到 tfp0,可以做一个简单地 sandbox label swap 来实现 sandbox escape

#define KSTRUCT_OFFSET_PROC_UCRED 0xf8
#define KSTRUCT_OFFSET_UCRED_CR_LABEL 0x78

kptr_t swap_sandbox_for_proc(kptr_t proc, kptr_t sandbox) {
    kptr_t ret = KPTR_NULL;
    _assert(KERN_POINTER_VALID(proc));
    kptr_t const ucred = ReadKernel64(proc + koffset(KSTRUCT_OFFSET_PROC_UCRED));
    _assert(KERN_POINTER_VALID(ucred));
    kptr_t const cr_label = ReadKernel64(ucred + koffset(KSTRUCT_OFFSET_UCRED_CR_LABEL));
    _assert(KERN_POINTER_VALID(cr_label));
    kptr_t const sandbox_addr = cr_label + 0x8 + 0x8;
    kptr_t const current_sandbox = ReadKernel64(sandbox_addr);
    _assert(WriteKernel64(sandbox_addr, sandbox));
    ret = current_sandbox;
out:;
    return ret;
}

我上周写过一篇文章介绍这个方法,可以参考:

你就是月薪过百万的页面工具人?tql

诶也不知道luca的Kernel Extension Dynamic Loader写的怎么样了

吃瓜.png

我是被黑恶势力疯狂干翻的普通页面仔:stuck_out_tongue:

1 Like