Как защитить images.xcassets от кражи?

По сути, я разрабатываю приложение, содержащее несколько изображений, защищенных авторским правом (эти изображения принадлежат обществу, в котором я работаю), и я ищу способ защитить или предотвратить доступ пользователей к этим изображениям (например: через iFunBox или iFile на взломанные устройства). Я читал о «TexturePacker», и это было именно то, что я искал: своего рода защита контента с шифрованием, чтобы данные было трудно украсть. К сожалению, я использую простой SpriteKit для разработки и не могу использовать этот фреймворк. Любая подсказка?


person user3582537    schedule 22.09.2015    source источник
comment
Вы можете использовать TexturePacker со SpriteKit.   -  person trojanfoe    schedule 22.09.2015
comment
@trojanfoe Я знаю, но защита контента доступна только для Cocos2D (согласно веб-сайту TexturePacker).   -  person user3582537    schedule 22.09.2015
comment
Ах, значит, TexturePacker не предлагает возможность шифрования при упаковке SpriteKit?   -  person trojanfoe    schedule 22.09.2015
comment
@trojanfoe К сожалению, в данный момент это невозможно.   -  person user3582537    schedule 22.09.2015
comment
Ну, вы всегда можете просто связать зашифрованные изображения с вашим приложением и расшифровать их на лету.   -  person trojanfoe    schedule 22.09.2015
comment
Я почти уверен, что файл xcassets кодирует изображения, поэтому вы не можете просто просматривать активы через файловый браузер. Я уверен, что кто-то может найти способ расшифровать файл активов, потому что я сомневаюсь, что он зашифрован. Независимо от того, кто-то всегда может найти способ получить доступ к вашим активам, если они действительно этого хотят (т.е. читать прямо из памяти). Менее технически подкованные пользователи могут даже просто записать экран, чтобы получить ваши активы (хотя и не исходные файлы). Так что вам нужно спросить себя, действительно ли это стоит усилий, чтобы сделать это.   -  person Epic Byte    schedule 23.09.2015
comment
@epicByte Хороший ответ! Вы сделали мой день ;)   -  person user3582537    schedule 24.09.2015
comment
@user3582537 user3582537 Отлично, я добавлю это как ответ на этот вопрос.   -  person Epic Byte    schedule 24.09.2015
comment
Проблема с шифрованием активов заключается в том, что ключ для их расшифровки должен быть в программе, а безопасного способа сделать это нет. Но это увеличивает коэффициент работы и защищает от многих атак, но не от настойчивого знающего злоумышленника. Вам необходимо определить, кто является злоумышленником, насколько злоумышленник оценивает активы, и сбалансировать это с защитой. Не то чтобы все традиционные средства защиты были доступны: авторское право и судебная система — вот все, что защищает Микки Мауса, один очень ценный актив.   -  person zaph    schedule 25.09.2015


Ответы (1)


Файл xcassets кодирует изображения в двоичный файл, так что вы не можете просто просматривать активы через файловый браузер. Однако быстрый поиск в Google по запросу «Assets.car Extraction» показывает, что существует множество доступных инструментов для декодирования файла. Независимо от того, кто-то всегда может найти способ получить доступ к вашим активам, если они действительно этого хотят (т.е. читать прямо из памяти). Менее технически подкованные пользователи могут даже просто записать экран, чтобы получить ваши активы (хотя и не исходные файлы). Поэтому вам нужно выяснить, сколько времени вы действительно хотите потратить на минимизацию этого.

person Epic Byte    schedule 24.09.2015
comment
Это не так просто, как zip-файл, но это возможно, я сделал это, и теперь есть такие программы, как iOS-Asset-Extractor, который легко предоставит ресурсы. О, мне потребовалось меньше минуты, чтобы найти iOS-Asset-Extractor, так что не утруждайте себя этим путем, увеличение коэффициента работы минимально. - person zaph; 25.09.2015
comment
@zaph OP действительно просто нужен способ скрыть данные, чтобы обычные пользователи, использующие сломанные в тюрьме устройства, не видели активы на виду. Мое предложение решает достаточно его проблемы. Файл Assets очень хорошо работает со Sprite Kit и дает преимущество, заключающееся в том, что все ваши активы находятся в скрытом двоичном файле. Любой пользователь, который собирается использовать внешние инструменты для извлечения файла .car, будет использовать любые средства для доступа к ресурсам. Для игры пытаться защититься от этого случая — вообще пустая трата времени на разработку. - person Epic Byte; 25.09.2015
comment
Проблема заключалась в предыдущем ответе, в котором говорилось, что файл .car обеспечивает большую безопасность, чем он. Текущий ответ решает эти проблемы. - person zaph; 25.09.2015