Что такое формат файла CRX?
Расширение файла .crx используется Google Chrome и другими браузерами на базе Chromium. Файл .crx - это пакет расширения Chrome, установочный файл для плагинов и расширений браузера. Фактически это пакет, состоящий из различных файлов, таких как JavaScript (.js), манифест (.json), таблицы стилей CSS, HTML-страницы и графические ресурсы, которые вместе определяют поведение и внешний вид расширения.
Файлы .crx используются Google Chrome для добавления новых функций или возможностей в браузер, а также для изменения интерфейса с помощью пользовательских тем и интерактивных элементов. Браузеры на базе Chromium, такие как Microsoft Edge, Brave и Opera, также поддерживают этот формат.
Сжатие ZIP и структура файла
Файлы .crx используют сжатие ZIP, чтобы уменьшить размер файла и облегчить его передачу через интернет. Файл .crx можно открыть с помощью инструментов архивирования данных, таких как 7-Zip. Однако .crx не является «чистым» ZIP - каждый файл начинается с бинарного заголовка, содержащего магические байты Cr24 (hex 43 72 32 34), который несет в себе встроенную криптографическую подпись и открытый ключ. Стандартные архиваторы могут не распознать этот заголовок, поэтому его необходимо удалить перед извлечением содержимого ZIP.
Текущий формат CRX3 является обязательным с версии Chrome 75 (июнь 2019 г.), заменив старую схему подписи CRX2. Разработчики подписывают свои пакеты с помощью закрытого ключа, хранящегося в файле .PEM; соответствующий открытый ключ встраивается в заголовок .crx. MIME-тип - application/x-chrome-extension.
Распространение и установка
Большинство файлов .crx можно скачать и установить через Chrome Web Store. После успешной установки браузер автоматически удаляет файл .crx. Пользовательские файлы .crx можно установить вручную с диска, хотя Chrome требует включения Режима разработчика в настройках расширений для установки не из магазина.
Безопасность и защита
РИСК: HIGHCRX - это исполняемый код браузера с доступом к посещаемым вами страницам, вашим файлам cookie и (в зависимости от разрешений) вашим паролям и истории. Установка расширения не из Chrome Web Store обходит проверку Google и сканирование на вредоносное ПО, поэтому относитесь к сторонним файлам CRX как к сторонним приложениям: устанавливайте их только от разработчиков, которым вы доверяете. Современный Chrome намеренно блокирует обычную установку CRX по этой причине. Проверяйте подозрительный CRX, переименовав его в .zip и прочитав manifest.json (особенно список «permissions»), прежде чем загружать его. Остерегайтесь загрузок CRX типа «бесплатное премиум-расширение» со случайных сайтов - многие из них являются рекламным ПО или крадут данные.
Детали формата
в двух словах- CryENGINE / Ресурсный файл CRYENGINE - Некоторые игровые движки и инструменты используют .crx для скомпилированных ресурсов или архивных данных - не связано с расширениями Chrome.
- IBM/Lotus и другие устаревшие данные приложений - Некоторые старые бизнес-приложения использовали .crx для внутренних файлов данных; они специфичны для конкретных программ и не являются браузерными расширениями.
Программы, открывающие файлы CRX
Технические подробности
глубокая спецификация| Магические байты | Cr24 (hex 43 72 32 34) по смещению 0; байты 4-7 кодируют номер версии CRX |
| Тип формата | Подписанный ZIP-архив с бинарным префиксом заголовка CRX |
| Текущая версия формата | CRX3 - обязательна с Chrome 75 (июнь 2019 г.) |
| Устаревшая версия формата | CRX2 - использовалась до Chrome 75; не принимается современным Chrome |
| Структура заголовка CRX3 | Магические байты, поле версии, длина заголовка, затем блок SignedData, сериализованный через protobuf, содержащий подтверждение открытого ключа |
| Алгоритм подписи | RSA-2048 с SHA-256 (CRX2); структура AsymmetricKeyProof protobuf (CRX3) |
| MIME-тип | application/x-chrome-extension |
| Сжатие полезной нагрузки | ZIP (DEFLATE) - стандартный ZIP-архив начинается сразу после заголовка |
| Обязательный корневой файл | manifest.json - объявляет имя расширения, версию, разрешения и точки входа |
| Производная ID расширения | 32-символьная строка в нижнем регистре, производная от хэша SHA-256 открытого ключа расширения |
| Файл ключа разработчика | .pem (закрытый ключ RSA), используемый для подписи пакета; соответствующий открытый ключ встроен в заголовок CRX |
| Установка не из магазина | Требует включения режима разработчика в chrome://extensions; корпоративное развертывание через групповую политику ExtensionInstallForcelist |
| Поведение после установки | Chrome автоматически удаляет файл .crx с диска после успешной установки |
| Совместимые браузеры | Google Chrome, Microsoft Edge (v79+), Brave, Opera, Vivaldi и другие браузеры на базе Chromium |
| Выпущен | 2010 (CRX2); CRX3 format mandatory since Chrome 75, June 2019 |
| Открыть стандартное | Да · без роялти |
| Спецификация | developer.chrome.com |
Конвертации CRX
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах CRX.