Что такое формат файла ASEC?
Файл .asec хранит зашифрованные и защищенные данные приложений Android в виде внутреннего зашифрованного образа контейнера loopback. Файлы .asec создаются во время переноса приложения или его установки на SD-карту - пакет .apk шифруется для предотвращения несанкционированного доступа или модификации. Файлы .asec обычно хранятся в папке .android_secure на SD-карте и монтируются в /mnt/asec/ системным демоном хранилища Android vold. Формат .asec был представлен в Android 2.2 «Froyo» (в которой впервые была разрешена установка приложений на внешние накопители) в 2010 году. Эта технология была внедрена для предотвращения копирования платных приложений на другие устройства, так как ключ шифрования привязан к исходному устройству.
Перенос приложения обратно во внутреннюю память телефона приводит к расшифровке контейнера .asec и восстановлению приложения в стандартный файл .apk. Поскольку ключ шифрования уникален для каждого устройства и управляется демоном vold, файлы .asec нельзя перенести на другое устройство Android и запустить на нем. Формат был официально заменен технологией Adoptable Storage, представленной в Android 6.0 Marshmallow (2015), которая шифрует и интегрирует SD-карту непосредственно в пул внутренней памяти устройства, что делает контейнеры .asec практически устаревшими в современных версиях Android. Файлы .obb (используемые для больших данных расширения приложений) остаются в активном использовании в качестве сопутствующего формата на SD-картах.
Безопасность и защита
РИСК: LOWФайл .asec сам по себе безвреден - это зашифрованный контейнер, привязанный к устройству, который нельзя запустить или открыть вне телефона, поэтому он не представляет прямой угрозы вредоносного ПО на ПК (там это просто нечитаемые данные). Практический риск заключается в потере данных: это системные файлы, и их удаление или форматирование SD-карты удаляет приложения, перенесенные на карту, и их обычно невозможно восстановить, так как ключ шифрования находится на исходном устройстве. Не пытайтесь редактировать или «взламывать» контейнеры .asec и игнорируйте любые инструменты, заявляющие об извлечении из них устанавливаемого APK - это мошенничество или вирусы. Если вам нужно приложение, переустановите его из Play Store или с помощью его APK.
Детали формата
в двух словахПрограммы, открывающие файлы ASEC
Технические подробности
глубокая спецификация| Тип контейнера | Зашифрованный образ диска loopback, внутренне отформатированный в ext4, монтируемый как виртуальное блочное устройство ОС Android |
| Алгоритм шифрования | AES-128 в режиме CBC, применяемый демоном Android `vold` через подсистему Linux dm-crypt |
| Управление ключами | Ключ для каждого контейнера генерируется во время создания; хранится в `/data/misc/systemkeys/` во внутренней памяти - никогда не записывается на саму SD-карту |
| Механизм монтирования | `vold` / `MountService` подключает образ через петлевое устройство Linux (loop device) и device-mapper (`dm-crypt`); расшифрованное содержимое отображается как обычный каталог для установленного приложения |
| Точка монтирования | `/mnt/asec/<package-name>-<n>/` - расшифрованное содержимое приложения доступно по этому пути, пока устройство разблокировано и работает |
| Расположение на SD-карте | `/.android_secure/` - скрытая папка в корне SD-карты, отформатированной в FAT32; не видна через стандартный режим USB-накопителя |
| Соглашение об именовании файлов | `<package-name>-<integer>.asec` (например, `com.example.app-1.asec`); целочисленный суффикс увеличивается при каждой переустановке на SD-карту |
| MIME-тип | `application/octet-stream` - выделенный MIME-тип не зарегистрирован; хост-системы обрабатывают его как непрозрачный бинарный объект |
| Магические байты / сигнатура файла | Отсутствуют - зашифрованный контейнер не имеет читаемого заголовка; идентифицируется исключительно по расширению `.asec` и его расположению в `/.android_secure/` |
| Портативность | Нулевая - ключ шифрования привязан к устройству; файл `.asec`, скопированный на любое другое устройство, не может быть расшифрован или смонтирован |
| Механизм защиты от копирования | Ключ дешифрования создается для каждого устройства, что предотвращает распространение платных приложений, делая контейнер навсегда нечитаемым без исходного устройства |
| Поддерживаемые версии Android | Android 2.2 «Froyo» (API 8) до Android 5.1 «Lollipop» (API 22); официально признан устаревшим в Android 6.0 Marshmallow |
| Заменен на | Adoptable Storage (Android 6.0+, API 23), который поглощает всю SD-карту в собственный зашифрованный пул внутренней памяти устройства |
| Видимость в хост-ОС | Файлы `.asec` выглядят как непрозрачные бинарные файлы при чтении SD-карты через USB на ПК; ни одна хост-ОС не может расшифровать или проверить их содержимое без ключа исходного устройства |
| Выпущен | Android 2.2 'Froyo' (2010), as part of Apps2SD / 'move to SD card'; superseded by Adoptable Storage in Android 6.0 (2015) |
| Открыть стандартное | Да · без роялти |
| Спецификация | source.android.com |
Конвертации ASEC
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах ASEC.