【问题标题】:how to detect tvOS is jailbroken using swift如何使用 swift 检测 tvOS 是否越狱
【发布时间】:2019-10-31 00:02:11
【问题描述】:

是否有任何方法可以在 tvOS 应用程序中检测 Apple tv 是否越狱? 尝试了与 iPhone 中使用的相同方法来检测越狱,但它不能按照参考链接工作 - How do I detect that an iOS app is running on a jailbroken phone?

NSString *filePath = @"/Applications/Cydia.app";
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
{
   // do something useful
}

此方法无效,是否有任何特定于 tvOS 应用程序的 API 来检测越狱?

【问题讨论】:

  • 是否可以检测到?
  • 如果有一种高度可靠的方法可以检测到这一点,Apple 会在 tvOS 中使用它来防止越狱。您添加的任何检测都将被轻松绕过。这并没有让它毫无用处,但这意味着你不应该花太多时间在它上面,除非你有一个你认为与 Apple 安全团队具有相似规模的团队(有些公司有这个,它不是无限的或任何东西,但如果你不这样做,那么你需要相应地调整你的期望)。

标签: objective-c swift tvos jailbreak


【解决方案1】:

你可以检查这些文件是否存在(Cydia 的东西):

  • /private/var/lib/cydia
  • /var/cache/apt
  • /var/lib/apt
  • /var/lib/cydia

许多人还在他们的越狱设备上安装OpenSSH,因此请检查:

  • /usr/sbin/sshd
  • /usr/bin/sshd

如果未安装Cydia - 检查根分区权限 - /

如果您可以读/写,则设备很可能已越狱。

您也可以尝试fork() - 沙盒不允许这样做,因此它会在越狱环境中成功。


注意:请记住,Cydia 和 Internet 上有很多工具可以绕过越狱检查。

【讨论】:

  • 尝试fork() 甚至无法编译。我收到错误“'fork()' 不可用:请使用线程或 posix_spawn*()”。如何为fork() 添加可以编译并允许我构建和运行应用程序的检查?
猜你喜欢
  • 2014-01-12
  • 2020-10-23
  • 2018-03-08
  • 2021-07-17
  • 2012-09-02
  • 2018-09-16
  • 2017-05-09
  • 2019-08-09
  • 1970-01-01
相关资源
最近更新 更多