как определить джейлбрейк tvOS с помощью swift

Есть ли способ определить в приложении tvOS, взломан ли Apple TV или нет? Пробовал тот же метод, что и в iPhone, для обнаружения джейлбрейка, но он не работает по справочной ссылке - Как определить, что приложение iOS запущено на взломанном телефоне?

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

Этот метод не работает, какой-либо API, специфичный для приложения tvOS, для обнаружения взлома?


person Manisha    schedule 17.06.2019    source источник
comment
можно обнаружить или нет?   -  person cybergeeeek    schedule 17.06.2019
comment
Если бы был очень надежный способ обнаружить это, Apple использовала бы его в tvOS в первую очередь для предотвращения джейлбрейка. Любое обнаружение, которое вы добавляете, будет легко обойти. Это не делает его бесполезным, но это означает, что вы не должны тратить на него слишком много времени, если только у вас нет команды, которая, по вашему мнению, имеет такой же масштаб, как команда безопасности Apple (в некоторых компаниях она есть, она не бесконечна или что-то в этом роде). , но если вы этого не сделаете, вам нужно соответствующим образом скорректировать свои ожидания).   -  person Rob Napier    schedule 17.06.2019


Ответы (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 и в Интернете есть множество инструментов для обхода проверок взлома.

person Matteo Pacini    schedule 17.06.2019
comment
Попытка fork() даже не компилируется. Я получаю сообщение об ошибке «fork()» недоступно: используйте потоки или posix_spawn*(). Как я могу добавить проверку для fork(), которая может скомпилировать и позволить мне собрать и запустить приложение? - person alobaili; 05.11.2020