TGViewer
Flutter Friendly Flutter Friendly @flutterfriendly · 995 subscribers
Post #136 764
Привет, это Анна, Friflex Flutter Team Lead!👋

Один из базовых приемов для повышения уровня безопасности вашего Flutter-приложения — это обфускация кода. Сегодня разберем, что это, как использовать и какие есть нюансы.

Обфускация простыми словами — некоторое запутывание кода с помощью определенного набора символов. При обфускации код сборки становится нечитаемым для человека. Названия всех методов и классов подменяются другими символами.

Какую проблему решает? Обфускация сильно затрудняет процесс понимания кода, полученного в процессе реверс-инжиниринга. Посмотрим, как это работает.

Возьмем простое приложение, тот шаблон, который генерируется автоматически при создании Flutter-проекта. Соберем две сборки, одну с обфускацией, другую — без. Затем проведем процесс реверс-инжиниринга обеих сборок с помощью инструмента Blutter.

Результат — на карточке👆
Вывод — код сборки с обфускацией прочитать почти невозможно.

Обфусцировать код Flutter-приложения очень просто – достаточно запустить команду сборки следующим образом:

flutter build <build-target> \ 
--obfuscate \
--split-debug-info=/<symbols-directory>


Здесь очень важно использовать опцию --split-debug-info, она по указанному пути выгрузит символы обфускации, с помощью которых можно будет в дальнейшем расшифровывать важные логи, например, стектрейсы ошибок.

❕При обфускации нельзя в коде использовать сравнение строковых представлений runtime-типов.

Попробуйте для примера сделать подобную реализацию в сборке с обфускацией и без.

class User {}

Text(user.runtimeType.toString());

Text ("${user.runtimeType.toString() == "User"");

Без обфускации на экране появятся значения User и true. С обфускацией в первом виджете будет набор рандомных символов, во втором — false.

🔥 — если используете обфускацию в своих проектах.
  • 🔥 12
  • 👍 8
  • ❤ 4
  • ❤‍🔥 2
More from @flutterfriendly
  1. May 14, 2026👀Какой сложный вопрос или тема по Flutter вас сейчас беспокоят? Может, задача не идет, ба…
  2. Apr 17, 2026💭Привет! Это Роза, Flutter-разработчица Friflex! Уверена, многие из вас знакомы с Dart De…
  3. Apr 8, 2026Привет, друзья! Делимся нашей страничкой на Хабре, чтобы всегда оставаться на связи. Там е…
  4. Apr 3, 2026🌸Апрель в календаре и на экране Весна зовет обновлять визуальное: убирать темные темы и в…
  5. Apr 1, 2026Всегда с нетерпением ждем этого дня, чтобы сделать подборку ИТ-мемов Пусть поводов для улы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →