Декомпилятор JSXBIN->JSX

Статус
Закрыто для дальнейших ответов.

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Никто не знает, существует ли сабж в принципе? Казалось бы вещь простая и нужная, но поиск результатов не дал :(
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Ну и что там - написано что невозможно? Но это не ответ. Ведь ясно ж, что даже скомпилированый Ява-код прекрасно поддается декомпиляции. А JSXBIN судя по всему - скорее, даже не компилированый код, а как сказано в описании - упакованый алгоритмом Deflate, а потом завернутый в Base64 кодировку исходный текстовик. Или я чего-то не догоняю?
 
  • Спасибо
Реакции: sani5

mvlad123

12 лет на форуме
Сообщения
167
Реакции
95
Ответ: Декомпилятор JSXBIN->JSX

Интересно было бы посмотреть это описание... Однако, Adobe не должна документировать алгоритм компиляции, так как собственно JSXBIN придуман для защиты прав авторов скриптов.
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

File extension jsxbin file type description:
Binary JavaScript file
JavaScript, by its nature, cannot operate with binary data represented as a fragment of memory – as a byte array. That makes it difficult to use community developed algorithms and encodings. A good example is the DEFLATE compressed format. This raises more problems if the JavaScript code has to be run on a web browser: data has to be delivered over HTTP.

In the proposed implementation, a byte array is emulated by a regular JavaScript array of objects. Also, the given implementation tries to solve the problem of binary data transfer to a client-side script. Let’s assume we have DEFLATE compressed data and there is a way to transfer it to the client in BASE64 format.
Related programs
that open jsxbin files: Adobe ExtendScript, Adobe Photoshop, Adobe Creative Suite

Я понимаю, что документировать вовсе не обязана, однако, я нигде не нашел официального запрета на реверс-инженеринг формата jsxbin, да и вообще, на каком основании такой запрет может проводиться? Насколько я понимаю, запрет на реверс-инженернг может касаться только некоей отдельно взятой программы, написаной в данном формате, на весь формат целиком подобные вещи не распространяются. Или я неправ?
 

mvlad123

12 лет на форуме
Сообщения
167
Реакции
95
Ответ: Декомпилятор JSXBIN->JSX

Метод компрессии Deflate может иметь особенности реализации, поэтому написать обратный алгоритм без знания этих особенностей нелегко.
Даже преобразование двоичных данных в BASE64 может быть реализовано по-разному. Например, последовательность 3-х байт (24 бит) может быть "разбита" на четыре 6-битовые последовательности разными способами. Нужно знать, какие биты из этих 24 бит попадают в каждую из четырех 6-битных последовательностей...
В общем, как Вы сами ранее сказали, JSXBIN - не компилированный формат, а закодированный. Смысл давать ключ (открывать алгоритм преобразования из JSX в JSXBIN) к коду, который как раз и сделан, чтобы закрыть код от вмешательства, по-моему, отсутствует...
Может быть кому-то и удастся все это взломать, но для чего? Для своих скриптов, исходники которых утеряны, - по-хорошему, делается не одна копия "нажитого нелегким трудом". Чужого скрипта? Но ведь автор имел какие-то причины закрывать свой код. И это его право и его проблемы.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ответ: Декомпилятор JSXBIN->JSX

Метод компрессии Deflate может иметь особенности реализации, поэтому написать обратный алгоритм без знания этих особенностей нелегко.
Даже преобразование двоичных данных в BASE64 может быть реализовано по-разному. Например, последовательность 3-х байт (24 бит) может быть "разбита" на четыре 6-битовые последовательности разными способами. Нужно знать, какие биты из этих 24 бит попадают в каждую из четырех 6-битных последовательностей...

проверить то несложно - записать любой свой текст в jsxbin, а имея исходный текст и зашифрованный, знающий человек разберется.
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Вот и я о том же. Я только не пойму - мне что, эта идея первому в голову пришла, что ли? jsxbin уе не первый год существует, а до сих пор никто не пробовал его ковырять?
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Похоже не все так просто. По поводу Deflate и Base64 - полная фигня. На самом деле, там какой-то их собственный компилированный P-code, завернутый, опять же, в некое подобие Base64 :(
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Тем не менее, разобраться можно, я уже почти декомпилятор написал - основная идея понятна во всяко случае.
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 028
Реакции
1 197
Ответ: Декомпилятор JSXBIN->JSX

Будет ли декомпилятор доступен общественности? 8*)
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Будет ли декомпилятор доступен общественности? 8*)

Его еще написать надо. ;-) Вообще, наверное, сделаю какую-нибудь символическую цену, как на CDRfind
 

Sanchos

Sancho
12 лет на форуме
Сообщения
806
Реакции
157
Ответ: Декомпилятор JSXBIN->JSX

Ха ха, тебе многие авторы коммерческих скриптов скажут "большое спасибо". Мне то пофигу, я этим не занимаюсь.
Но ты подумай если бы кто-то взял декомпильнул твой CDRfind и выложил бы в глобал. Как оно тебе тогда было бы, приятно? :)
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Пофиг, я самолично на линуксовом форуме куски своего кода от CDRfind выкладывал для использования в SK (который, кстати, вообще в исходных текстах распространяется) Так что ты думаешь - модераторы удалили, побоялись проблем с корелОвцами. А лично мне скрывать нечего. ;-)
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Вот, зацените первую примитивную демку. Раскладывает скрипт на строки и показывает списки используемых в каждой строке идентификаторов, операций и констант. Не совсем корректно, поскольку выражение управляющей структуры (for,if и т.д.) хранится в конце блока кода структуры.

http:\\mbkhome.narod.ru\JSXBIN\JSXBINdec.exe
 

Sanchos

Sancho
12 лет на форуме
Сообщения
806
Реакции
157
Ответ: Декомпилятор JSXBIN->JSX

ну открыл и посмотрел идентификаторы и константы, а толку от этого не много.
Я и сам прекрасно знаю для какой операции какие операции использовать.
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Это ж демка! Демоверсия такой и должна быть - бесполезной, но прикольной. ;-)
 

Sanchos

Sancho
12 лет на форуме
Сообщения
806
Реакции
157
Ответ: Декомпилятор JSXBIN->JSX

ни чего прикольного не вижу :)
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 028
Реакции
1 197
Ответ: Декомпилятор JSXBIN->JSX

Хотелось бы увидеть не демку в действии (видео может) =)

Декомпилятор - это не всегда зло. Всё зависит от целей его использования.
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Декомпилятор JSXBIN->JSX

Хотелось бы увидеть не демку в действии (видео может) =)

Декомпилятор - это не всегда зло. Всё зависит от целей его использования.

Да погодите, я ее еще не доделал полностью. А полезность ее (в смысле, рабочей версии)
просто неоспорима. Представьте себе - есть откомпилированый скрипт, скажем, под CS3 - для того чтобы он под CS5 работал надо декомпилировать и слегка подправить. Кстати, думаю, данная проблема стоит более серьезно не с индейцем, а, скажем, с Adobe After Effect
 
Статус
Закрыто для дальнейших ответов.