#iphone #ios #encryption #build-process
#iPhone #iOS #шифрование #процесс сборки
Вопрос:
У меня есть пара файлов в комплекте с моим приложением для iOS. Теперь, если кто-то загрузит приложение и получит доступ к файлу .ipa, он сможет легко их прочитать. Я хотел бы сделать это сложнее.
Знаете ли вы какие-либо ресурсы, посвященные этой теме? Я предполагаю, что мне нужна библиотека шифрования и несколько сценариев в моем скрипте сборки, кодирующих файл…
Конечно, я знаю, что кто-то может декомпилировать мои исходники и взломать код, но я просто хочу, чтобы это было сложнее.
Комментарии:
1. Как вы планируете расшифровать файл? Предположительно, где-то в вашем приложении будет пароль с открытым текстом.
2. Да, я знаю. Я просто хочу усложнить кражу некоторых моих IP-адресов, хотя я знаю, что предотвратить это невозможно 🙂
Ответ №1:
Как указывает @Alex, поскольку ключ будет находиться в исходном коде, это небезопасно.
Используйте CommonCryptor из CommonCrypto
#import <CommonCrypto/CommonCryptor.h>
/ Операция шифрования или дешифрования без сохранения состояния, выполняемая одним выстрелом.
CCCryptorStatus CCCrypt(
CCOperation op,
CCAlgorithm alg,
CCOptions options,
const void *key, size_t keyLength,
const void *iv,
const void *dataIn, size_t dataInLength,
void *dataOut,
size_t dataOutAvailable, size_t *dataOutMoved);
Но это приведет к ограничениям на экспорт. Вы могли бы быть так же счастливы, используя base64, который не является криптографией и не имеет ограничений на экспорт.
В любом случае первое, с чем вам нужно определиться, это модель угрозы, насколько конфиденциальны данные, насколько строго вы хотите ограничить доступ и с какими трудностями вы готовы смириться.