Анализ stu файла Unity Pro

Dec 20, 21

Задался как-то вопросом - а что делать, если забыл пароль от проекта Unity Pro (Schneider Electric, не C#’овый продукт 😄). А так как все проекты хранятся в STU файле, то и проанализируем, из чего он состоит.

Для анализа сделан простой проект, из которого получилось 4 файла:

  • Не сбилженный (no built) проект, без пароля;
  • Не сбилженный (no built) проект, но с паролем (пароль для проектов использовал одинаковый);
  • Cбилженный (built) проект, без пароля;
  • Cбилженный (built) проект, c паролем;

Сам файл STU представляет из себя простой архив, поэтому открываем WinRar архив и смотрим, что есть внутри.

Внутренности STU файла

Как можно увидеть, файл состоит из набора файлов, большинство из которых базы данных. Я посмотрел все файлы и нас интересует только один файл - STATION.CTX. Конкретно нас интересует строка APPLICATION PWD, где собственно и хранится в зашифрованном виде наш пароль.

Покажу различия в двух файлах:

Различия файлов

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

Про отличия built проекта и no built в плане паролей - они отличаются по хэшу, что за система шифрования используется, я к сожалению вычислить не смог.