Каковы варианты защиты декларативных (например,XML / SQLite) данные в приложении MonoTouch?
-
19-09-2019 - |
Вопрос
Я создаю приложение MonoTouch, которое имеет некоторую декларативную бизнес-логику, которую клиент не хочет, чтобы ее было легко получить.Очевидно, что существует обычный аргумент о том, что ничто в программном обеспечении не может быть защищено, но клиент предпочел бы, чтобы этого не было тривиально легко сделать.
Я мог бы закодировать логику как C #, но было бы чище, если бы я мог иметь ее в виде XML-документа или базы данных SQLite (или другой).
Есть ли способ встроить XML-документ или базу данных SQLite в скомпилированный код?
В противном случае, кто-нибудь пробовал шифровать XML-файлы или базы данных SQLite (или другую декларативную технологию) в приложениях MonoTouch и может указать мне правильное направление.Я предполагаю, что расшифровать XML-файл может быть просто, но меня не удивило бы, если бы была "ошибка" с выполнением этого на iPhone.
Решение
Недавно я сделал это с помощью приложения, которое использует XmlSerialization
.Я использовал Rijndael (этот) для шифрования данных, которые сохраняются на диске.Очевидно, что ключ по-прежнему виден в двоичном файле для наиболее преданного злоумышленника, но для большинства это затрудняет случайный просмотр XML.
В вашем случае вы могли бы сделать это, а затем добавить XML-файл в качестве встроенного ресурса.Я не уверен, как Monotouch реализует встроенные ресурсы, но они быстро загружаются.