Вопрос

Я использовал dotfuscator для защиты моего приложения от обратной машины, я зашифровал файлы DLL в приложении Windows, но как я могу сделать это в OSX / Monotouch?

Извлеките DLL из IPA, затем путайте DLL в Windows и перепадайте зашифрованные DLL в IPA, а затем опубликовать его в AppStore?

Есть ли простое решение?

Это было полезно?

Решение

Выполнено, что вам нужно помнить, что iOS не позволяет JIT (как раз вовремя) компиляция. Это означает, что все должно пройти через Aot (заранее) компилятор.

Это результаты, которые весь код IL из ваших узлов преобразуются в нативную руку (V6, V7 и / или большой палец) и , что IL является не требуется больше.

Это означает, что, когда вы строете для Release|iPhone, код IL будет удален из ваших узлов. Поскольку он промежуточный прочь, это не присутствует (будет декомпилировано) в приложении, которое вы публикуете.

<Сильные> Примечания

    .
  • Сборки все равно будут внутри приложения , потому что метаданные по-прежнему требуются (например, System.Reflection нуждается в этом). Таким образом, имена символов и ресурсов файлов не будут двигаться / зашифрованы как обфускатели, как правило, делают;

  • Вы можете разобрать монтажу ARM (это было бы правдой, даже если вы запутали сборки перед сборкой AOT), но это много труднее понять (и вернуться к C #), чем IL ,

  • Извлечение узлов из IPA и расщепляя их, будет сломаться хотя бы подпись приложения (вы можете восстановить его). Это также будет скорее всего разбивать много других вещей (поскольку код будет ссылаться на имена / структуры, которые могли бы изменить). Я не думаю, что это будет работать (но зависит от вариантов, которые вы будете использовать из вашего ObfusCator).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top