Должны ли мы запутывать код Dart в приложениях Flutter? - PullRequest
0 голосов
/ 11 октября 2018

С этим связан вопрос: Как проверить результаты обфускации приложения флаттера? Но ответ здесь неясен.

Возможно ли хакерам увидеть код дротика вфлаттер приложения?Или он скомпилирован так, что его трудно понять и отследить?

После разархивирования apk, полученного из flutter build apk - единственный файл, который я нашел, связанный с моим собственным кодом Dart, был "libflutter.so".Просмотр функций в nm -D libflutter.so не показал ничего похожего на мой код, так что это выглядит довольно безопасно.Но - я хотел бы, чтобы кто-то, кто действительно знает, подтвердил, возможно, я что-то пропустил.

Какая лучшая практика используется для публикации флаттерных приложений?

ОБНОВЛЕНИЕ С 12 октября 2018 года : я пытался запутать, как упомянуто здесь: https://github.com/flutter/flutter/wiki/Obfuscating-Dart-Code, что привело к повреждению приложения (сбой при запуске). Так что, похоже, сейчас нет никакого реального способа запутать.

1 Ответ

0 голосов
/ 12 октября 2018

В режиме отладки приложения флаттера копируются из источника.Это требует распространения источника вместе с приложением.Однако вам не следует распространять отладочную сборку, поэтому давайте не будем беспокоиться об этой возможности.

В режиме выпуска ваш источник скомпилирован как AoT, так что нет фактической копии вашего источника, но если кто-то захочет воссоздатьэто, они могут (легко?) реконструировать его из сборки.

Если вы хотите запутать ваш скомпилированный код, лучше всего следовать советам, данным здесь: https://github.com/flutter/flutter/wiki/Obfuscating-Dart-Code

Я не претендую на звание эксперта в этом вопросе, поэтому, пожалуйста, проведите собственное исследование, но, надеюсь, это укажет вам правильное направление.

Дополнительная информация о процессе сборки: https://proandroiddev.com/flutters-compilation-patterns-24e139d14177

...