Что такое формат файла XPT?
Файлы с расширением .xpt относятся к категории файлов плагинов для веб-браузера Mozilla Firefox и связанных приложений на базе XPCOM. Разработка Firefox началась примерно в 2002-2003 годах, хотя платформа компонентов XPCOM восходит к кодовой базе Mozilla от Netscape конца 1990-х годов.
Файлы .xpt представляют собой скомпилированные бинарные библиотеки типов - они не содержат исполняемых плагинов или видеокодеков сами по себе, а скорее описывают интерфейсы и сигнатуры методов компонентов XPCOM, которые могут быть добавлены в Firefox, расширяя его функциональность. Данные, хранящиеся в файлах .xpt, являются бинарными определениями интерфейсов, которые позволяют уровню сценариев браузера вызывать установленные компоненты. Так было с технологией Adobe Flash, чей пакет плагинов для Firefox включал файлы .xpt, описывающие интерфейсы XPCOM плагина. После установки браузер мог вызывать компонент Flash для воспроизведения презентаций и мультимедийного контента без необходимости ручной настройки среды пользователем.
Файлы .xpt компилируются из исходных кодов определения интерфейса .idl с помощью компилятора xpidl. Начиная с Firefox 57 (ноябрь 2017 г.), Mozilla удалила поддержку устаревших дополнений XPCOM в пользу современного WebExtensions API. Файлы .xpt больше не поставляются как отдельные файлы в каталоге установки Firefox; данные библиотек типов теперь компилируются непосредственно в бинарный файл Firefox.
Безопасность и защита
РИСК: LOWФайлы XPT являются пассивными данными описания интерфейса; они не содержат исполняемого кода. Однако в контексте старых дополнений Mozilla/Firefox вредоносный XPT мог описывать интерфейсы для вредоносного компонента XPCOM (реальный риск заключается в сопутствующем файле .so/.dll, а не в .xpt). Современный Firefox больше не загружает внешние файлы XPT, полностью устраняя эту поверхность атаки.
Детали формата
в двух словах- Транспортный файл SAS - Статистическое программное обеспечение SAS использует .xpt (также .xpt5/.xpt8) для транспортного формата SAS XPORT - совершенно не связанного бинарного формата для обмена наборами данных SAS, определенного SAS Institute.
Программы, открывающие файлы XPT
xpt_dump file.xpt - выводит человекочитаемые описания интерфейсов. Технические подробности
глубокая спецификация| Тип формата | Бинарная скомпилированная библиотека типов (определения интерфейсов XPCOM) |
| Кодировка | Бинарная |
| Порядок байтов | Little-endian (32-битные смещения файлов) |
| Магические байты | 16-байтовая последовательность по смещению 0: ASCII «XPCOM», перевод строки (0A), «TypeLib», CR+LF (0D 0A), маркер EOF (1A) |
| Структура заголовка | Magic (16 байт) + байт мажорной версии + байт минорной версии + количество интерфейсов + длина файла |
| Контейнер | Автономный бинарный файл - не на базе ZIP или OLE |
| Типичный размер файла | 1 КБ - 100 КБ |
| Скомпилирован из | исходных файлов .idl через инструмент компиляции xpidl |
| Внутренние разделы | Таблица InterfaceDirectoryEntry, пул данных (сигнатуры методов и информация о типах), раздел аннотаций |
| Связанные платформы | Windows, macOS, Linux |
| Поле версии формата | major_version=1, minor_version=0 хранится в заголовке; заморожено на v1.0 |
| Текущий статус | Заменен на WebExtensions API (Firefox 57, ноябрь 2017 г.); больше не распространяется в виде отдельных файлов |
| Выпущен | ~1999 (Netscape/Mozilla XPCOM origins) |
| Последняя версия | Format version 1.0 (specification at www-archive.mozilla.org) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www-archive.mozilla.org |
Конвертации XPT
Вопросы и ответы сообщества
спрошено пользователямиЧасто задаваемые вопросы
Что такое файл XPT?
Могу ли я открыть файл XPT?
xpt_dump из инструментов сборки Mozilla, который выдает человекочитаемый результат.Почему в моей старой папке Firefox есть файлы XPT?
components/. Современный Firefox этого больше не делает. Это безвредные остатки от старых установок.Мой файл XPT от SAS - как мне его открыть?
foreign::read.xport), Python (pyreadstat) или Stata.