Что такое формат файла JSXBIN?
Несмотря на свое название, файл .jsxbin является текстовым файлом ASCII, а не настоящим бинарным файлом. Это скомпилированный результат работы Adobe ExtendScript Toolkit (ESTK), создаваемый, когда разработчик экспортирует скрипт .jsx в закодированном виде. Кодирование сериализует проанализированное абстрактное синтаксическое дерево (AST) исходного кода ExtendScript в ASCII-представление, похожее на base64, предназначенное для предотвращения простого просмотра кода.
Каждый файл .jsxbin начинается с текстового заголовка @JSXBIN@[email protected]@ (или @JSXBIN@[email protected]@ для скриптов, скомпилированных в CS4 и ранее), за которым следует по одному закодированному узлу AST на строку. Формат обеспечивает обфускацию, а не истинное шифрование - сторонние декомпиляторы могут восстановить исходный код, близкий к оригиналу, хотя имена переменных обычно искажаются.
Скрипты .jsxbin нативно запускаются внутри приложений Adobe Creative Cloud, включая Photoshop, Illustrator, InDesign и After Effects. Разработчики используют этот формат для коммерческого распространения скриптов автоматизации, защищая интеллектуальную собственность от простого копирования.
Adobe ExtendScript и ESTK считаются устаревшими технологиями. Современной заменой является UXP (Unified Extensibility Platform), которая использует HTML, CSS и стандартный JavaScript. Плагины UXP ориентированы на Photoshop 2021+, InDesign 2022+ и более поздние версии. Несмотря на этот переход, многие рабочие процессы в издательском деле, вещании и допечатной подготовке продолжают полагаться на автоматизацию ExtendScript, поэтому файлы .jsxbin остаются в активном использовании.
Безопасность и защита
РИСК: MEDIUMСкрипты JSXBIN запускаются с привилегиями хост-приложения Adobe и могут выполнять операции с файловой системой, выполнять команды оболочки (через system.callSystem в ExtendScript) и получать доступ к сетевым ресурсам. В сети были замечены вредоносные скрипты JSXBIN (Hexacorn задокументировал злоупотребления JSX/JSXBIN в 2022 году). Всегда получайте скрипты от доверенных поставщиков. VS Code ExtendScript Debugger может помочь в аудите скриптов перед запуском.
Детали формата
в двух словахПрограммы, открывающие файлы JSXBIN
Технические подробности
глубокая спецификация| Заголовок файла | `@JSXBIN@[email protected]@` (текст ASCII, первая строка) или `@JSXBIN@[email protected]@` для скриптов эпохи CS4 |
| Кодирование | ASCII - сериализация скомпилированного абстрактного синтаксического дерева в стиле base64 |
| Версии формата | 1.0 (CS4 и ранее), 2.0 (CS5 и позже); версия объявляется в строке заголовка |
| Контейнер | Простой текстовый файл с полезной нагрузкой в кодировке ASCII; по одному узлу AST на строку после заголовка |
| Шифрование | Отсутствует - только обфускация; обратимо сторонними декомпиляторами |
| Типичный размер файла | 5 КБ - 500 КБ в зависимости от сложности скрипта |
| Поддержка ОС | Windows, macOS |
| MIME-тип | application/octet-stream (также распознается как text/plain) |
| Декомпилируемость | Да - сторонние инструменты могут восстановить исходный код JSX, близкий к оригиналу, с искаженными именами переменных |
| Статус SDK | Adobe ExtendScript Toolkit (ESTK) не поддерживается; Photoshop, Illustrator, InDesign и After Effects по-прежнему нативно исполняют JSXBIN |
| Платформа-преемник | UXP (Unified Extensibility Platform) с использованием исходного кода .js/.ts - Photoshop 2021+, InDesign 2022+ |
| Разработчик | Adobe Systems Incorporated |
| Дата появления | 2004 год вместе с Adobe Creative Suite и ExtendScript Toolkit |
| Выпущен | 2004 (Adobe Creative Suite CS, ExtendScript Toolkit) |
| Последняя версия | JSXBIN version 2.0 (ES / ExtendScript) |
| Спецификация | extendscript.docsforadobe.dev |
Конвертации JSXBIN
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах JSXBIN.