越狱内核有什么变化?

Cod*_*aFi 35 kernel jailbreak ios

在看到这个关于保护你的应用程序不被破解的问题后,我看到顶级回答者提到了能够看到设备是否因内核中的某些内部不平衡而被越狱的问题.仔细研究了一下,我发现了内核架构概述指南,并了解了与Mach-BSD内核交互的方法.我需要知道的是:我在寻找什么?当设备在内核的上下文中被越狱时,是否存在某种键或内部状态会发生变化?

要清楚,我不是在寻找代码(我知道如何自己做这些事情),我正在寻找寻找的东西......听起来很奇怪.我已经看到了链接问题中的答案,我知道它们有效,但我想知道一个全内核路由,这似乎是一种通用而有效的方法来检查而不是搜索可能会更改或删除密钥的目录可能有不同的名字.

我也不打算因为盗版而禁用应用程序的任何功能(只是根据条件显示消息或某些内容).

Yll*_*Dev 24

所有"现代"内核补丁都基于comex的补丁.

正在修补的主要内容是:

  • security.mac.proc_enforce
  • cs_enforcement_disable (kernel and AMFI)
  • PE_i_can_has_debugger
  • vm_map_enter
  • vm_map_protect
  • ...

哦,还有沙盒补丁.如果你想了解更多关于所有这些补丁的信息,我建议你看一下iOS黑客手册.

编辑:我想出了一个简单的想法,检查设备是否越狱,但我不确定Apple是否允许使用这些功能:

  1. 使用mach_vm_allocate()分配一些内存

  2. 通过mach_vm_protect()将该页面的保护更改为VM_PROT_READ | VM_PROT_EXECUTE | VM_PROT_COPY

  3. 由于iOS版本不允许在您的应用程序内部使用VM_PROT_EXECUTE,因此会失败,检查mach_vm_protect()的返回值,如果没有越狱,但如果设备被越狱则检查成功.

  • 最后,答案不是讽刺.Comex的repo克隆+1. (3认同)