Comments 27
UFO just landed and posted this here
И не будут они утешительными. Гонка за лидером — это в лучшем случаем получим еще одну гонку офисных пакетов и проблемы совместимости форматов.
Начнем с декомпиляции. Хотя спецификации на ABC-код являются открытыми (хоть и не полностью), декомпилировать толком можно только ресурсы, а код после прохода по нему «протектора» превращается в несобираемую в исходник портянку (можно конечно изобретать аналитические декомпиляторы, соревнуясь в лучшем анализе повреждений байткода и восстановлении исходника).
Но позвольте, зачем декомпилировать, ведь оно и так работает? В таком случае можно только написать VM для работы с скомпилированным ABC. Получим еще одну виртуальную машину, только не на нативной платформе, а на JS.
К этому же подталкивает и Алхимия, первая версия которой была на llvm, в качестве эксперимента, а нынче Адоб решил ее сделать по человечески и даже планирует брать денег с разработчиков за быструю работу с памятью (гуглите премиальный контент). Зато потребитель получит (по заверениям Адоба) игры консольного качества на флеше. Дада, с поддержкой 3D и аппаратного ускорения.
Классы для работы с внешним миром. Виртуалочка пусть у нас и работает, но как рисовать что-то? Во флеше есть класс Sprite, часть которого, класс Graphics очень похож на SVG. Если брать рисование линий и кривых Безье 2 порядка — все отлично. Примерно это было в 9 флеше. А дальше появились разные фильтры, и это далеко не только Blur поверх спрайта, а даже целые пиксельные шейдеры. Начиная с 10 версии есть 3D. Долго искал аналог beginBitmapFill в чем-то свободном, но не нашел, в SVG конечно есть способ загрузить картинку и засунуть ее в полигон, а вот как на ней рисовать — непонятно.
Отдельно хотелось бы вспомнить несколько классов, которые меня удерживают на флеше:
Microphone + Camera (удивительно, но захвата мультимедии в этом вашем HTML5 вообще нет, есть патчи к браузерам с непонятным статусом), SampleDataEvent (позволяет разобрать звук на составляющие и что-то с ним интересное делать), NetConnection (а по нему не только видео передают), Mixer, Sound, NetStream (именно его убивали многочисленные анонсы HTML5 про видео и аудио, а адоб добавило к нему 1 метод NetStream.appendBytes() и труп далеко убежал от преследователей).
Начнем с декомпиляции. Хотя спецификации на ABC-код являются открытыми (хоть и не полностью), декомпилировать толком можно только ресурсы, а код после прохода по нему «протектора» превращается в несобираемую в исходник портянку (можно конечно изобретать аналитические декомпиляторы, соревнуясь в лучшем анализе повреждений байткода и восстановлении исходника).
Но позвольте, зачем декомпилировать, ведь оно и так работает? В таком случае можно только написать VM для работы с скомпилированным ABC. Получим еще одну виртуальную машину, только не на нативной платформе, а на JS.
К этому же подталкивает и Алхимия, первая версия которой была на llvm, в качестве эксперимента, а нынче Адоб решил ее сделать по человечески и даже планирует брать денег с разработчиков за быструю работу с памятью (гуглите премиальный контент). Зато потребитель получит (по заверениям Адоба) игры консольного качества на флеше. Дада, с поддержкой 3D и аппаратного ускорения.
Классы для работы с внешним миром. Виртуалочка пусть у нас и работает, но как рисовать что-то? Во флеше есть класс Sprite, часть которого, класс Graphics очень похож на SVG. Если брать рисование линий и кривых Безье 2 порядка — все отлично. Примерно это было в 9 флеше. А дальше появились разные фильтры, и это далеко не только Blur поверх спрайта, а даже целые пиксельные шейдеры. Начиная с 10 версии есть 3D. Долго искал аналог beginBitmapFill в чем-то свободном, но не нашел, в SVG конечно есть способ загрузить картинку и засунуть ее в полигон, а вот как на ней рисовать — непонятно.
Отдельно хотелось бы вспомнить несколько классов, которые меня удерживают на флеше:
Microphone + Camera (удивительно, но захвата мультимедии в этом вашем HTML5 вообще нет, есть патчи к браузерам с непонятным статусом), SampleDataEvent (позволяет разобрать звук на составляющие и что-то с ним интересное делать), NetConnection (а по нему не только видео передают), Mixer, Sound, NetStream (именно его убивали многочисленные анонсы HTML5 про видео и аудио, а адоб добавило к нему 1 метод NetStream.appendBytes() и труп далеко убежал от преследователей).
Ключевой вопрос — «но зачем»?
Потом, извините, но Mozilla — и так не самый эффективный браузер. Как вообще, так и в плане скорости выполнения JS — в частности. Это как-то плохо сочетается с использованием такого вида рендеринга флеша, как мне кажется. Нативный код будет быстрее.
Потом, извините, но Mozilla — и так не самый эффективный браузер. Как вообще, так и в плане скорости выполнения JS — в частности. Это как-то плохо сочетается с использованием такого вида рендеринга флеша, как мне кажется. Нативный код будет быстрее.
там как я понимаю всё будет исполнятся в «песочнице» браузера, в отличии от флеш-плагина. безопасность сэр.
Ключевой вопрос — «но зачем»?
Видимо есть огромное желание у мозиловцев осложнить жизнь владельцам AdBlock/FlashBlock. Если раньше блокирование надоедливых баннеров сводилось просто к embed/object, то теперь и владельцы этих расширений смогут насладиться радостью от просмотра навязчивой рекламы. Другой причины для себя я не вижу — конвертировать что-то сложнее баннеров и простых роликов у них вряд ли получится, достаточно вспомнить их проект Tamarin успешно почивший после года разработки.
Видимо есть огромное желание у мозиловцев осложнить жизнь владельцам AdBlock/FlashBlock. Если раньше блокирование надоедливых баннеров сводилось просто к embed/object, то теперь и владельцы этих расширений смогут насладиться радостью от просмотра навязчивой рекламы. Другой причины для себя я не вижу — конвертировать что-то сложнее баннеров и простых роликов у них вряд ли получится, достаточно вспомнить их проект Tamarin успешно почивший после года разработки.
Насколько я понимаю, от загрузка swf файла никуда не денется — ее так же можно будет заблокировать.
Поменяется только среда исполнения.
Поменяется только среда исполнения.
Вы думаете, мозилловцы не могут этот плагин выпилить со своего сайта?
Если так как вы думаете, то это круче чем ремонтировать движок через выхлопную трубу.
Если так как вы думаете, то это круче чем ремонтировать движок через выхлопную трубу.
достаточно вспомнить их проект Tamarin успешно почивший после года разработки.Что вы сказать-то хотели?
Tamarin — виртуальная машина, используемая в Flash Player для исполнения ActionScript 3 (не «совместимая с», а именно «используемая в»).
Что-то я не слышал, что бы Flash Player разучился исполнять ActionScript.
(не «совместимая с», а именно «используемая в»)
Tamarin в Flash Player никогда не было и не будет, в Flash Player используется ActionScript Virtual Machine, коих существует 2 версии — AVM1 который использовался в плеерах до 9 версии и AVM2 использующийся во всех версиях старше 9, вплоть до сегодняшнего дня.
Tamarin в Flash Player никогда не было и не будетИнфа 100%? :)
По-видимому Adobe врало в своём пресс-релизе:
Adobe has contributed source code for the ActionScript™ Virtual Machine, the powerful standards-based scripting language engine in Adobe® Flash® Player, to the Mozilla Foundation. Mozilla will host a new open source project, called Tamarin
…
Adobe’s most recent virtual machine for ActionScript 3.0, a core component of Adobe Flash Player 9
Источник
И Mozilla, на странице проекта, — тоже:
The code will continue to be used by Adobe as part of the ActionScript™ Virtual Machine within Adobe® Flash® Player.
Источник
FYI, Tamarin и есть тот самый AVM2. Во всяком случае, был им на момент отпочковывания.
Ок, переведу смысл на русский то, того вы дали, раз вы сами не можете.
Adobe has contributed source code for the ActionScript™ Virtual Machine, the powerful standards-based scripting language engine in Adobe® Flash® Player, to the Mozilla Foundation. Mozilla will host a new open source project, called Tamarin.
Адоби передала исходные коды AVM Mozilla Foundation, которая в свою очередь начинает новый проект — Tamarin (вероятнее всего чтобы не ходить по старым граблям).
The Tamarin virtual machine will be used by Mozilla within SpiderMonkey, the core JavaScript engine embedded in Firefox®, and other products based on Mozilla technology. The code will continue to be used by Adobe as part of the ActionScript™ Virtual Machine within Adobe® Flash® Player.
Tamarin будет использоваться Mozilla в SpiderMonkey, движке JS встроенного в Firefox и другие продукты основанные на технологиях Mozilla. Переданный код будет и дальше использоваться как часть AVM в Flash Player.
Еще раз вам повторяю, Tamarin живые люди никогда не видели, он никогда не попадал и не попадет во Flash Player, о чем вам выше по вашим же ссылкам и написали. А те технологии которые описаны на странице Tamarin, во Flash Player не используются, так что Tamarin ≠ AVM.
Adobe has contributed source code for the ActionScript™ Virtual Machine, the powerful standards-based scripting language engine in Adobe® Flash® Player, to the Mozilla Foundation. Mozilla will host a new open source project, called Tamarin.
Адоби передала исходные коды AVM Mozilla Foundation, которая в свою очередь начинает новый проект — Tamarin (вероятнее всего чтобы не ходить по старым граблям).
The Tamarin virtual machine will be used by Mozilla within SpiderMonkey, the core JavaScript engine embedded in Firefox®, and other products based on Mozilla technology. The code will continue to be used by Adobe as part of the ActionScript™ Virtual Machine within Adobe® Flash® Player.
Tamarin будет использоваться Mozilla в SpiderMonkey, движке JS встроенного в Firefox и другие продукты основанные на технологиях Mozilla. Переданный код будет и дальше использоваться как часть AVM в Flash Player.
Еще раз вам повторяю, Tamarin живые люди никогда не видели, он никогда не попадал и не попадет во Flash Player, о чем вам выше по вашим же ссылкам и написали. А те технологии которые описаны на странице Tamarin, во Flash Player не используются, так что Tamarin ≠ AVM.
Интересный момент: достал я вместо украденного старенький Compac nx6110 с 512mb и Pentium M. И как оказалось, мозилка с отключенным флешем — самое вменяемое по соотношению качества отображения с потреблением памяти и проца.
UFO just landed and posted this here
Еще конвертор есть в Sothink SWF Decompiler. Конвертация моей swf-ки, так же безуспешна :(
попытался запустить нашу игру (слева) в SWF Inspector (справа)
UFO just landed and posted this here
UFO just landed and posted this here
Где вы там нашли реверс-инжиниринг?
> Ведь можно пойти другим путем: синтаксис AS3 известен. Почему бы не написать виртуальную машину
Пишут: lightspark.github.com
> или компилятор для него?
У Adobe Flex и так открыт код.
Пишут: lightspark.github.com
> или компилятор для него?
У Adobe Flex и так открыт код.
Какой смысл так делать? Байткод AVM2 прост и понятен. Только сдаётся мне что его они вообще не процессируют.
Пойти что ли ему какой-нить видеоплеер скормить
Sign up to leave a comment.
Mozilla Shumway — open source конвертер SWF в HTML5