Monotouch: Как защитить мое приложение
-
12-12-2019 - |
Вопрос
Я использовал dotfuscator для защиты моего приложения от обратной машины, я зашифровал файлы DLL в приложении Windows, но как я могу сделать это в OSX / Monotouch?
Извлеките DLL из IPA, затем путайте DLL в Windows и перепадайте зашифрованные DLL в IPA, а затем опубликовать его в AppStore?
Есть ли простое решение?
Решение
Выполнено, что вам нужно помнить, что iOS не позволяет
Это результаты, которые весь код IL из ваших узлов преобразуются в нативную руку (V6, V7 и / или большой палец)
Это означает, что, когда вы строете для Release|iPhone
, код IL будет удален из ваших узлов. Поскольку он промежуточный прочь, это не присутствует (будет декомпилировано) в приложении, которое вы публикуете.
<Сильные> Примечания
- .
-
Сборки все равно будут внутри приложения
, потому что метаданные по-прежнему требуются (например, System.Reflection
нуждается в этом). Таким образом, имена символов и ресурсов файлов не будут двигаться / зашифрованы как обфускатели, как правило, делают; -
Вы можете разобрать монтажу ARM (это было бы правдой, даже если вы запутали сборки перед сборкой AOT), но это
много труднее понять (и вернуться к C #), чем IL , -
Извлечение узлов из IPA и расщепляя их, будет сломаться хотя бы подпись приложения (вы можете восстановить его). Это также будет скорее всего разбивать много других вещей (поскольку код будет ссылаться на имена / структуры, которые могли бы изменить). Я не думаю, что это будет работать (но зависит от вариантов, которые вы будете использовать из вашего ObfusCator).