Як саме працює DRM-додаток для iOS?


10

Коли я купую додаток в iTunes на комп’ютері Windows, я отримую файл * .ipa, який є самостійним пакетом додатків для iOS. Я можу переглядати вміст цих IPA-файлів за допомогою 7-Zip та навіть витягувати ресурси та інші деталі, що говорить про те, що ці файли IPA взагалі не шифруються.

Отже, якщо вони не зашифровані, як працює DRM? Що заважає мені скопіювати файл IPA на чужий комп'ютер та імпортувати IPA в iTunes, а потім встановити його на чужому пристрої?

Також може хто-небудь підтвердити, що доки я зберігаю файл IPA, я зможу встановити його на свої iDevices (звичайно, під тим же Apple ID)? Я просто занепокоєний тим, що в майбутньому додаток може бути оновлений для видалення функцій або навіть його можна буде повністю витягнути з магазину додатків.


1
Я не знаю, що вас заважає робити це, але я знаю принаймні один спосіб, як це можна було зробити: А саме, якщо iOS відмовився запускати додаток, якщо за нього не заплатили, запис про цей платіж присутній у формі деяких цифрових підписів на даних, включаючи контрольну суму програми.
Харальд Ханш-Олсен

Відповіді:


14

Насправді, він більше схожий на SSL. Після реєстрації в обліковому записі Apple Apple створює пару для публічного / приватного ключа для вашого імені користувача. Потім він надає ваш приватний ключ, і він зберігає ваш загальнодоступний. (Ось чому, коли ви вперше купуєте або відновляєте iDevice, ви повинні активувати його за допомогою свого облікового запису iTunes). Після активації він передає ваш приватний ключ на ваш iDevice. В основному, це відбувається, коли ви купуєте додаток (безкоштовний або платний) Apple генерує заголовок довжиною 4096 байт, який зашифрований вашим відкритим ключем.

Якщо у вас є розуміння публічних / приватних ключів, відкритий ключ може зашифрувати свою приватну пару ... Наприклад, я використовував би відкритий ключ серверів для шифрування даних для надсилання на сервер. Потім сервер використовує приватний ключ, щоб розшифрувати його. Коли він хоче відправити дані назад, він використовує мій відкритий ключ для шифрування даних, а я використовую свій приватний ключ для їх розшифровки! Відкриті ключі можуть зашифровувати лише дані, не можуть розшифровувати і навпаки для приватних ключів.

Під час завантаження програми додається заголовок, зашифрований вашим відкритим ключем. Лише ваш приватний ключ може розшифрувати заголовок, вбудований у додаток. Так, наприклад, якщо я скопіював IPA, згенерований для вас, і помістив його на свій iDevice (це припускаю, що ви можете його отримати там, iTunes відмовився би синхронізувати його все-таки), а потім я спробував запустити його, він просто зірветься тому що мій приватний ключ не зможе розшифрувати заголовок! Також варто зауважити, що файл IPA (IPA - це, по суті, zip-файл, який було перейменовано) не має заголовка; якщо ви подивитесь на вміст IPA, ви зрозумієте, що він містить файл без розширень, візьмемо, наприклад, додаток Facebook, у ньому буде файл "Facebook". Це бінарний додаток, і це файл із зашифрованим заголовком.

Так, як зазначено вище, ваші програми продовжуватимуться працювати так довго, як ви можете запам'ятати свій Apple ID, оскільки iDevice (і iTunes) НЕ перевіряє підпис за допомогою iTunes, що ніколи! Це означає, що ви можете встановити вилучені додатки, а також синхронізувати старі IPA на свій пристрій, якщо вони є вашими, і ви все ще маєте IPA безстроково!


0

Просто змініть розширення з .ipaна .zip. Якщо ви використовуєте стару версію iTunes, файл IPA буде в:

C:\user\ ...\music\itunes\mobile applications 

Ви бачили ... Перейдіть до користувача, якого ви використовували під час завантаження програми.


Ця відповідь не пояснює, як iOS застосовує ліцензійні обмеження.
Дай
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.