Что такое код swf_definerect

FlashDevelop встраивание swf «Определение для символа не найдено»

Я пытаюсь вставить символ из swf и получить следующую ошибку: Определение символа «мяч» не найдено. Это код

Я продолжаю получать это

Ошибка: определение символа «мяч» не найдено.

Ошибка: невозможно перекодировать /lib/Assets/Assets.swf.

Я использую Flashdevelop, и символ был сделан с VectorianGiotto и имеет анимацию простой анимации.

Если я удалю анимацию и экспортирую ее, она будет работать. Есть идеи, почему это происходит?

Что такое код swf_definerect

swf_definerect — Define a rectangle

Description void swf_definerect ( int objid, float x1, float y1, float x2, float y2, float width )

The swf_definerect() defines a rectangle with an upper left hand coordinate given by the x, x1 , and the y, y1 . And a lower right hand coordinate given by the x coordinate, x2 , and the y coordinate, y2 . Width of the rectangles border is given by the width parameter, if the width is 0.0 then the rectangle is filled.

Пред. Начало След.
swf_definepoly Уровень выше swf_definetext

Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:

Как открыть файл SWF

SWF – это особый формат, разработанный специально для веб-приложений и использования в интернет-среде. Это формат для хранения различного рода анимации, графического контента и даже коротких видео и аудио файлов небольшого объёма.

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

Аббревиатура «swf» изначально расшифровывалась как «ShockWave Format». Теперь, для того, чтобы не было путаницы с другими флеш-приложениями, этот формат называется «Small Web Format» (маленький веб-формат).

Как и чем открыть SWF?

К сожалению, открыть данный файл с помощью стандартных средств просмотра изображений Windows не представляется возможным. Тут ситуация очень схожа с форматом «GIF», который хоть и отображается как изображение, но запустить анимацию нельзя. Так чем же всё-таки можно просмотреть такого рода файлы?

Браузеры

Первый и самый простой способ, абсолютно не требующий дополнительной установки каких-либо средств – открыть нужный файл в любом браузере. Практически все современные средства для интернет-серфинга предусматривают поддержку технологии «Flash».

Запустить swf-файл используя браузер просто:

    Дважды кликните на необходимом swf-файле.

Готово! Браузер откроет наш файл, и впредь все swf-файлы будут ассоциироваться с данной программой.

Adobe Flash Player

Второй доступный и очевидный вариант – использовать программные продукты от «Adobe», так как именно эта компания на данный момент – основной разработчик любого ПО с технологией Flash. Самый распространённый продукт, который есть у каждого – Flash Player.

Итак, чтобы открыть данный тип файлов в этой программе необходимо:

    Открыть Adobe Flash Player, используя ярлык на рабочем столе или через меню «Пуск». В окне программы открываем функцию верхней панели «File» («Файл»), в открывшемся подменю выбираем «Open» («Открыть»).

Готово! Файл откроется и будет воспроизведён Flash Player-ом.

На заметку! Ещё один более быстрый способ – выделить необходимый файл и нажать правой клавишей мыши. В контекстном подменю выбрать подпункт «Открыть с помощью» («Open with»), и уже в нём выбрать Флеш-плеер.

С помощью медиаплеера

Для этого способа подойдёт любой проигрыватель видео для Windows – самый популярный KMPlayer, распространённый VLC media player, или чуть менее известный GOM player. Впрочем, список подходящих программ достаточно велик.

Разберём на примере KM-плеера. Последовательность действий проста:

    Запускаем КМПлеер. Важно открыть именно саму программу, а не конкретный файл. Так будет удобнее, и это поможет избежать вылетов.

На заметку! Также можно запустить файл в плеере, используя контекстное меню. Однако это сработает только в том случае, если программа присутствует в данном подменю.

Видео — Чем открыть файл SWF

Понравилась статья?
Сохраните, чтобы не потерять!

Изменение байтового кода swf для выходных переменных

У меня есть swf файл, который я хочу изменить байтовый код (я использую ActionScript Extractor).

Что такое хороший способ легко вывести переменную, например, быстрый способ сделать эквивалент (в JS)

Я попытался использовать функцию следа adobe, но он работает очень плохо, а иногда, похоже, не работает вообще.

message Сообщение для отображения.

title Текст в строке заголовка предупреждений. Этот параметр является необязательным; если вы его опустите, строка заголовка пуста.

flags Необязательный параметр, указывающий кнопки для отображения в окне предупреждения. Значением по умолчанию является Alert.OK, в котором отображается кнопка OK. Когда вы используете более одного значения, отделите значения с помощью | персонаж. Используйте одно или несколько из следующих значений: Alert.OK , Alert.CANCEL , Alert.YES , Alert.NO .

Вы также можете использовать Alert.NONMODAL чтобы указать, что окно предупреждения немодно. Немодальное окно позволяет пользователю взаимодействовать с другими окнами в приложении.

parent Родительское окно для компонента Alert. Окно Alert самоцентрируется в родительском окне. Используйте значение null или undefined, чтобы указать временную шкалу _root. Родительское окно должно быть подклассом класса UIComponent, либо как другой компонент Flash, являющийся подклассом UIComponent, либо как пользовательское окно, которое является подклассом UIComponent (дополнительную информацию см. В разделе О наследовании в Learning ActionScript 2.0 в Adobe Flash). Этот параметр является необязательным.

clickHandler Обработчик событий трансляции при нажатии кнопок. В дополнение к стандартным свойствам объекта события click есть дополнительное свойство detail, которое содержит значение флага кнопки, которая была нажата (Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO). Этот обработчик может быть функцией или объектом. Дополнительные сведения см. В разделе Использование прослушивателей для обработки событий в разделе «Использование компонентов ActionScript 2.0».

icon Строка, которая является идентификатором привязки символа в библиотеке; этот символ используется как значок, отображаемый слева от текста предупреждения. Этот параметр является необязательным.

defaultButton Указывает, какая кнопка имеет начальную фокусировку и нажимается, когда пользователь нажимает Enter (Windows) или Return (Macintosh). Если пользователь переходит к другой кнопке, эта кнопка запускается при нажатии клавиши Enter.

Этот параметр может быть одним из следующих значений: Alert.OK , Alert.CANCEL , Alert.YES , Alert.NO .

Созданный экземпляр оповещения.

Метод (класс); метод класса (статический), который отображает окно предупреждения с сообщением, необязательный заголовок, дополнительные кнопки и необязательный значок. Заголовок предупреждения появляется в верхней части окна и выравнивается по левому краю. Значок отображается слева от текста сообщения. Кнопки расположены в центре ниже текста сообщения и значка.

Следующий код — простой пример модального окна предупреждения с кнопкой OK:

Следующий код определяет обработчик кликов, который отправляет сообщение на панель «Выход» о том, какая кнопка была нажата. (У вас должен быть компонент Alert в библиотеке, чтобы этот код отображал предупреждение, чтобы добавить компонент в библиотеку, перетащите его в рабочую область и затем удалите его):

Изменение байтового кода swf для выходных переменных

У меня есть swf файл, который я хочу изменить байтовый код (я использую ActionScript Extractor).

Что такое хороший способ легко вывести переменную, например, быстрый способ сделать эквивалент (в JS)

Я попытался использовать функцию следа adobe, но он работает очень плохо, а иногда, похоже, не работает вообще.

message Сообщение для отображения.

title Текст в строке заголовка предупреждений. Этот параметр является необязательным; если вы его опустите, строка заголовка пуста.

flags Необязательный параметр, указывающий кнопки для отображения в окне предупреждения. Значением по умолчанию является Alert.OK, в котором отображается кнопка OK. Когда вы используете более одного значения, отделите значения с помощью | персонаж. Используйте одно или несколько из следующих значений: Alert.OK , Alert.CANCEL , Alert.YES , Alert.NO .

Вы также можете использовать Alert.NONMODAL чтобы указать, что окно предупреждения немодно. Немодальное окно позволяет пользователю взаимодействовать с другими окнами в приложении.

parent Родительское окно для компонента Alert. Окно Alert самоцентрируется в родительском окне. Используйте значение null или undefined, чтобы указать временную шкалу _root. Родительское окно должно быть подклассом класса UIComponent, либо как другой компонент Flash, являющийся подклассом UIComponent, либо как пользовательское окно, которое является подклассом UIComponent (дополнительную информацию см. В разделе О наследовании в Learning ActionScript 2.0 в Adobe Flash). Этот параметр является необязательным.

Илон Маск рекомендует:  Iis поиск веб узла (findweb)

clickHandler Обработчик событий трансляции при нажатии кнопок. В дополнение к стандартным свойствам объекта события click есть дополнительное свойство detail, которое содержит значение флага кнопки, которая была нажата (Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO). Этот обработчик может быть функцией или объектом. Дополнительные сведения см. В разделе Использование прослушивателей для обработки событий в разделе «Использование компонентов ActionScript 2.0».

icon Строка, которая является идентификатором привязки символа в библиотеке; этот символ используется как значок, отображаемый слева от текста предупреждения. Этот параметр является необязательным.

defaultButton Указывает, какая кнопка имеет начальную фокусировку и нажимается, когда пользователь нажимает Enter (Windows) или Return (Macintosh). Если пользователь переходит к другой кнопке, эта кнопка запускается при нажатии клавиши Enter.

Этот параметр может быть одним из следующих значений: Alert.OK , Alert.CANCEL , Alert.YES , Alert.NO .

Созданный экземпляр оповещения.

Метод (класс); метод класса (статический), который отображает окно предупреждения с сообщением, необязательный заголовок, дополнительные кнопки и необязательный значок. Заголовок предупреждения появляется в верхней части окна и выравнивается по левому краю. Значок отображается слева от текста сообщения. Кнопки расположены в центре ниже текста сообщения и значка.

Следующий код — простой пример модального окна предупреждения с кнопкой OK:

Следующий код определяет обработчик кликов, который отправляет сообщение на панель «Выход» о том, какая кнопка была нажата. (У вас должен быть компонент Alert в библиотеке, чтобы этот код отображал предупреждение, чтобы добавить компонент в библиотеку, перетащите его в рабочую область и затем удалите его):

CODE STAGE

DEVELOPMENT & RESEARCH

Упакованный SWF. Как распаковать?

Привет, друзья!
В этом посте я хотел бы рассказать о том, что из себя представляет упакованный SWF и как его можно распаковать динамически и статически.

Итак, что же такое упакованный SWF?

Если Вы никогда ранее его не видели, не поленитесь скачать простой классический пример упакованного SWF:
http://codestage.ru/files/flood/security/packed.swf
Запустив SWF, вы увидите немного текста в левом верхнем углу. Однако, если вы попробуете декомпилировать этот файл, то вы не увидите кода, который этот текст показывает.
Стоит отметить, что если бы в упакованном SWF были ещё какие-нибудь ресурсы (изображения, звуки, шрифты и т.д.), то их вы бы тоже не увидели. Это из-за того, что оригинальный SWF находится внутри того SWF что вы скачали и декомпилировали, и часто в зашифрованном виде.
Обычно все, что вы можете получить из таких SWF с помощью декомпиляторов — это код распаковщика\расшифратора и, возможно, сам зашифрованный SWF в виде набора байт (зависит от того, умеет ли используемый вами декомпилятор отображать тэг DefineBinaryData).
Такая «упаковка» на самом деле достигается с помощью простого Flex тэга [Embed].

Динамическая распаковка (dumping)

Динамическая — значит для распаковки потребуется исполнение SWF во Flash Player’е (далее — FP).
Т.к. FP не умеет проигрывать зашифрованную неведомо как SWF, то логично что перед проигрыванием, SWF должна расшифровываться и загружаться уже в чистом виде (например, с помощью Loader.loadBytes() ).
Что более важно, распакованный и расшифрованный SWF будет в памяти все время, пока он исполняется FP’ром.

И это наш шанс достать его!
Существует два основных способа сделать это.

1) Динамическая распаковка с помощью утилит
Используя сторонние или даже самописные утилиты для поиска SWF в памяти процесса FP. Это самый быстрый, самый простой и обычно самый эффективный способ. Но он не вызывает ощущения что вы — тру крякер ��
Существуют различные платные и бесплатные утилиты для этих целей.
Одна из наиболее продвинутых — это SWF Revealer, бесплатная утилита для владельцев лицензий на ASV. В некоторых случаях, она может обходить проверки на домен (которые не дают распаковаться и расшифроваться SWFке) и заставлять SWF запускаться в вашей среде.
Также достаточно легко гуглятся разные бесплатные дамперы.

2) Ручная динамическая распаковка
Поиск SWFки вручную, с помощью нахождения CWS (сжатый SWF) или FWS (несжатый SWF) заголовков, которые являются началом любого SWF. Если вы никогда не пробовали такой способ, я очень рекомендую попробовать! Он не только позволит немного подтянуть ваши скиллы в hex, но и подарит вам ощущение, что вы тру-крякер!)
Для поиска заголовков можно использовать любой HEX редактор, который умеет читать память процессов и имеет функцию поиска.
Если вы хотите искать упакованный SWF в памяти FP в котором проигрывается файл-пример по ссылке выше, то стоит начать с поиска FWS подписи (несжатый SWF) — просто ищите строку ‘FWS’, т.к. перед исполнением FP разжимает SWF, если он был сжат.
Если вы будете запускать и искать SWF в браузере, то закройте все лишние вкладки, чтобы снизить количество лишних SWF в памяти.

Обычно при таком поиске вы найдете несколько заголовков в памяти, т.к. сам FP держит там разные служебные SWF, например ту, что показывается после входа в полноэкранный режим.
Так что если вы сомневаетесь, то лучше проверить все найденные заголовки.
Итак, что же делать с найденным заголовками, спросите вы? Как их проверить, как узнать, где заканчивается SWF?
Пожалуйста, взгляните на этот скриншот:

Это заголовок одной из SWF в памяти FP при проигрывании файла-примера, найденный поиском по строке ‘FWS’ (совершенно случайно это оказался заголовок искомого упакованного файла, который мы и хотим найти ;))
Что же дальше? А дальше необходимо посмотреть какой длины получается найденный SWF. Длина расположена в 4 байтах начиная с 4го:

Как я узнал? Я просто прочитал спецификацию формата SWF: «SWF File Format Specification» http://www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf_file_format_spec_v10.pdf (раздел «The SWF header»)
Т.к. это шестнадцатеричное число, записанное в память, вам стоит знать, что порядок записи его байт — справа налево. Поэтому в результате число такое:
00 00 04 DB в hex и 1243 десятичном представлении.
Теперь отмеряем эти 1243 байт начиная с FWS подписи.
Т.к. подпись начинается на 053DD020, окончание SWF файла должно находиться по адресу 053DD4FB (053DD020 + 4DB):

Пожалуйста, имейте ввиду, что адрес расположения SWF в памяти будет отличаться на разных ОС и на разном железе.

Итак, мы видим, что найденный SWF действительно заканчивается на 053DD4FB, так что мы можем смело выделить все байты начиная с 053DD020, заканчивая 053DD4FB и скопировать их в новый SWF файл.
После проделывания этой операции со всеми вхождениями FWS, которые вам покажутся подходящими, среди сохраненных SWF файлов будет один искомый, распакованный SWF!
Теперь у вас не должно возникнуть проблем с его декомпиляцией.

Некоторые виды пакеров усложняют поиск искомого SWF с помощью размещения множества фальшивых FWS заголовков в памяти. Так что вам следует более тщательно подбирать FWS — проверять его длину, и то как он в целом выглядит. Опытные в реверсинге люди (вроде меня :p) могут на глаз отличить фальшивый заголовок от настоящего, глянув на сам заголовок и на несколько десятков байт после него.

Иногда, упакованный SWF может не распаковываться в память до проверки каких-нибудь условий. Например, загрузчик может проверять текущий домен или наличие какого-нибудь файла с лицензией. В таком случае вам придётся пропатчить эти проверки (например, с помощью дизассемблеров байткода, таких как Yogda или RABCDasm) или предоставить необходимые файлы (в которых может находиться ключ для расшифровки), чтобы заставить SWF запуститься и распаковаться.

Статическая распаковка

Статическая — значит без запуска SWF во FP.
В целом, к этому типу распаковки прибегают когда не вышло распаковать SWF динамически (кто его знает, почему у вас не получилось запустить SWF?)
Статическая распаковка может быть очень сложной задачей, т.к. есть не один способ её усложнить и сделать мучительно долгой.

Итак, с чего начать при статической распаковке? Для начала, вам следует получить доступ как минимум к двум вещам в SWF:
1 — DefineBinaryData тэг(и).
2 — Декомпилированный AS или abc байткод распаковщика\загрузчика.
Также, в некоторых случаях понадобится
3 — SymbolClass тэг
Для этого используйте доступные утилиты (ASV, Adobe SWF Investigator, SWiX, и т.д.).

Как найти тэг DefineBinaryData в SWF?
Сначала отмечу, что некоторые утилиты, например, ASV, могут вам явно указать на наличие этого тэга, сразу после открытия SWF. В них же можно этот тэг сохранить в виде двоичного файла.
Также можно найти его вручную, с помощью различных инспекторов тэгов, вроде упомянутого выше Adobe SWF Investigator.
Для получения содержимого тэга DefineBinaryData из файла-примера с помощью Adobe SWF Investigator, просто откройте файл, перейдите на вкладку Tag Viewer, выберите тэг DefineBinaryData и нажмите на кнопку Dump To File.

Илон Маск рекомендует:  Что такое код snmpwalkoid

Иногда в этом списке тэгов может быть множество фальшивых, чтобы сбить с толку незадачливого крякера. Для поиска необходимого тэга придётся немного изучить код загрузчика\распаковщика и отследить там обращение к упакованным данным.
Обычно оно выглядит так:

Где SomeClass имеет тип Class и наследуется от класса ByteArrayAsset.

Давайте посмотрим в код загрузчика и поищем что-то похожее.
Ага, вот и оно!

Теперь нам следует поискать класс с именем оканчивающимся на «_content» и наследующийся от ByteArrayAsset.
А вот и он:

Чтобы выяснить, какой тэг DefineBinaryData связан с этим классом, нам следует заглянуть в тэг SymbolClass и поискать там запись с названием найденного класса «MainTimeline_focus_loader_content».
В нашем случае эта запись выглядит так (в Adobe SWF Investigator):

Запомните значение поля idref. Это id нужного тэга DefineBinaryData!
Теперь ищите тэг с таким id среди всех тэгов DefineBinaryData.
После того, как вы его найдёте, его можно сохранить в файл и продолжать распаковку.
Почему я попросил запомнить idref, а не название класса? Потому что в том случае, если AS распаковщика обфусцирован, работать с именами классов может быть очень затруднительно.

Теперь успех вашего мероприятия зависит от количества времени, которое вы готовы потратить, сложности упаковщика и удачи)
Если повезёт, то полученные из DefineBinaryData данные окажутся чистым SWF без какого-либо шифрования и распаковку можно считать оконченной.
Но чаще всего, на этом этапе все самое интересное только начинается и впереди реверсинг загрузчика — разбор алгоритмов шифрования и написания собственного дешифровщика.

В нашем случае, код загрузчика намеренно сделан максимально простым и не обфусцированным, так что на этот раз нам повезло — мы легко находим функцию расшифровки:

И узнаем, что для получения оригинального SWF достаточно каждый его байт поксорить на 55.
Теперь вы можете написать свой декриптор, или скрипт, который сделает все операции для расшифровки SWF. Вот и все, распаковка закончена. После расшифровки вы получите оригинальный SWF, код и ресурсы которого видны в декомпиляторе.
Остаётся надеяться, что это так и распакованный SWF не окажется точно так же расшифровщиком SWF, который вы только что ковыряли, хахаха!)
Иногда при упаковке используют принцип матрёшки — запихивают один расшифровщик в другой — и так десятки раз, да ещё и алгоритмы расшифровки везде разные.
В любом случае, динамическая распаковка все это обходит.
Запомните — в мире Flash, ничего, кроме названий, нельзя скрыть от глаз профессионала высокого класса с достаточным уровнем мотивации ��

Есть вопросы, идеи, комментарии? Оставляйте всё в виде комментариев к посту, пишите!

Директивы препроцессора в Си

Препроцессор — это специальная программа, являющаяся частью компилятора языка Си. Она предназначена для предварительной обработки текста программы. Препроцессор позволяет включать в текст программы файлы и вводить макроопределения.
Работа препроцессора осуществляется с помощью специальных директив (указаний). Они отмечаются знаком решетка #. По окончании строк, обозначающих директивы в языке Си, точку с запятой можно не ставить.

Основные директивы препроцессора

#include — вставляет текст из указанного файла
#define — задаёт макроопределение (макрос) или символическую константу
#undef — отменяет предыдущее определение
#if — осуществляет условную компиляцию при истинности константного выражения
#ifdef — осуществляет условную компиляцию при определённости символической константы
#ifndef — осуществляет условную компиляцию при неопределённости символической константы
#else — ветка условной компиляции при ложности выражения
#elif — ветка условной компиляции, образуемая слиянием else и if
#endif — конец ветки условной компиляции
#line — препроцессор изменяет номер текущей строки и имя компилируемого файла
#error — выдача диагностического сообщения
#pragma — действие, зависящее от конкретной реализации компилятора.

Директива #include

Директива #include позволяет включать в текст программы указанный файл. Если файл является стандартной библиотекой и находится в папке компилятора, он заключается в угловые скобки <> .
Если файл находится в текущем каталоге проекта, он указывается в кавычках «» . Для файла, находящегося в другом каталоге необходимо в кавычках указать полный путь.

Как отредактировать SWF-файл?

Порой, при работе с SWF-файлами часто возникает ситуация, когда необходимо внести правки в готовое «творение», не имея при этой исходного FLA- файла. Это может быть всё, что угодно: изменение текста, картинок, звуков и т.д., при этом в отдельных случаях вовсе не обязательно прибегать именно к тем инструментам, с помощью которых был создан файл. Основная сложность заключается в том, что SWF-файл — это уже скомпилированный FLA-файл. При наличии последнего, пользователь имеет возможность видеть всю структуру файла, SWF же содержит минимум информации. После компиляции SWF-файл можно импортировать во Flash, однако без дополнительного ПО восстановить его структуру вряд ли удастся. Соответственно, для внесения правок необходимо декомпилировать SWF-файл.

Такая ситуация породила массу программ, таких как: Sothink SWF Decompiler, Eltima Flash Decompiler Trillix , Power Flash Decompiler и ещё великое множество различных утилит. В этой статье мы приведем примеры и параметры некоторых декомпиляторов, а так же рассмотрим сам процесс декомпиляции на примере программы Sothink SWF Decompiler.

Sothink SWF Decompiler — это программа для захвата, и декомпиляции файла SWF в FLA, а также для извлечения из него различных ресурсов. Программа позволяет извлекать изображения, шрифты, звуки и т.д. из готовых SWF-файлов и считается одной из лучших программ для декомпиляции.

Для человека, знакомого с такой системой, не составит труда с помощью программы «разобрать», а потом заново «собрать» SWF-файл. Для любителей же это может оказаться весьма сложной задачей. Итак, как выглядит процесс декомпиляции в Sothink SWF Decompiler?

Начнём с интерфейса. Собственно, главное окно программы выглядит так:

Слева располагается проводник по каталогам компьютера (Multifile Export), в центре — экран, где можно просмотреть флеш-ролик, справа же можно видеть окно (Resources), в котором отображаются составные части ролика (они появляются после «разборки» файла программой с помощью команд Exports FLA File и Exported FLA File Version).

Команда Exports FLA File более проста, команда Exported FLA File Version позволяет выбрать версию файла для FLA, который вы собираетесь экспортировать (программа поддерживает форматы Flash 6, Flash MX 2004 (7.0), Flash 8, Flash CS3 (9.0) и Flash CS4 (10.0).

Для примера, воспользуемся командой Exports FLA File.

Добавляем файл в список для декомпиляции, а потом сохраняем его. Для этого в открывшемся окошке кликаем на Add file, выбираем нужный файл. Затем кликаем на пиктограмму возле строки Export Path.

После этого можно увидеть, что файл добавился в список слева, в окне предпросмотра проигрывается ролик, а в панели справа появились составляющие файла. Далее обратить внимание следует именно на них.

Как с ними работать? Чтобы просмотреть компоненты файла и найти искомые, необходимо просто выбрать их из списка (выбранный компонент отобразится в центральном окне предпросмотра).

Далее требуется декомпилировать и соханить каждый из компонентов. Для этого в окне Resources выбираем команду Export FLA и кликаем на Export, после чего получаем самостоятельный компонент (.fla-файл), с которым можно спокойно работать во флеш-редакторе.

Немного нюансов: в зависимости от необходимости, можно сохранить все компоненты файла отдельно (установив галочку напротив графы Export Resources) или же сохранить только некоторые необходимые компоненты. В последнем случае нужно будет произвести дополнительные настройки. Для этого нужно выбрать режим декомпиляции Export Resources. Затем выбрать меню Option, и во всплывшем окне, выделить форматы файлов, которые вам нужно сохранить.

Далее всё стандартно, нужно кликнуть на кнопку OK, а затем на Export. Таким образом, сохранятся только файлы выбранных вами форматов.

Как уже говорилось, Sothink SWF Decompiler является одной из самых распространённых программ для декомпиляции SWF-файлов, а также считается одной из самых стабильных.

Помимо всего прочего, программа также включает в себя интересный инструмент SWF Catcher, который позволяет захватить flash-анимацию, которая просматривалась с помощью браузеров Internet Explorer или Firefox.

Илон Маск рекомендует:  Активная ссылка

В общем-то, процесс декомпиляции SWF-файлов похож в различных программах-декомпиляторах. Поэтому мы не будем рассматривать декомпиляцию на примере других программ, которых довольно много, однако приведём некоторые характеристики наиболее популярных из них.

Sothink SWF Decompiler
  • Поддерживает Action Script v. 2.0 и v.3.0
  • Возможность поиска в исходном коде Action Script — Конвертирование SWF в FLA и во FLEX
  • Извлечение SWF из EXE
  • Предпросмотр и экспорт ресурсов файла
  • Экспорт ActionScript файла в AS и HTML форматы
  • Имеется плеер для проигрывания флэш-файлов
  • Детальный просмотр свойств элементов во Flash-ролике
  • Поддержка сканирования кэша IE и вывод списка всех просмотренных вами Flash-файлов


Flash Decompiler Trillix

  • Поддерживает Action Script v. 2.0 и v.3.0
  • Возможность экспорта флеш-роликов в такие форматы как AVI, MPEG и т.д.
  • Возможность детальной настройки конвертации SWF в FLA
  • Возможность декомпилировать и конвертировать одновременно несколько флэш-роликов
  • Возможность редактирования объектов файла без конвертации в FLA
  • Извлечение ресурсов файла в различные форматы
  • Имеется встроенный проигрыватель Flash-файлов
  • Возможность сохранения Flash-роликов онлайн
  • Удобный интерфейс: масштабируемый, лента панели инструментов


SWF Decompiler Magic

  • Конвертирование SWF в FLV и EXE
  • Возможность экспорта данных из флэш-файла в FLA-файл:
    • Экспорт звуков и видео из флэш-файла
    • Экспорт текста, форм, кнопок, изображений, шрифтов и фреймов из флэш-файла
    • Экспорт скриптов из флэш-файла
  • Обзор и предпросмотр ресурсов перед экспортом
  • Поддержка редактирования динамического текста во флэш-файле
  • Поддержка перемещения изображений во флэш-файле
  • Просмотр детальной информации о каждом объекте из флэш-ролика

Что хочется ещё добавить о флеш-декомпиляторах? На первый взгляд, работать с ними достаточно просто, и в определённой степени так оно и есть. Однако, при декомпиляции SWF-файлов могут возникнуть сложности, так как при использовании подобных программ могут возникать ошибки в коде, которые придётся исправлять «вручную». А для пользователя, незнакомого с языком Action Script это может оказаться очень сложной задачей.

swf_definerect

swf_definerect — Define a rectangle

Описание

Defines a rectangle with an upper left hand coordinate and a lower right hand coordinate.

Список параметров

x-coordinate of upper left point.

y-coordinate of upper left point.

x-coordinate of lower right point.

y-coordinate of lower right point.

Width of the rectangles border, if the width is 0.0 then the rectangle is filled.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Что такое код swf_definerect

Скачал триальные версии «Secure SWF» и «SWF Encrypt». Защитил с их помощь swf файл.
«SWF Decompiler» без каких-либо проблем открывает защищенный swf, позволяет доставать ресурсы и т.д.

И в чем смысл такой защиты?

Вернуться наверх Зарегистрирован: Чт авг 27, 2009 1:01 pm
Сообщений: 475
Откуда: Украина, Симферополь
Вернуться наверх Зарегистрирован: Пт авг 07, 2009 11:13 am
Сообщений: 1105
Откуда: Ukraine Simferopol

Прочтя такое с утра можно упасть с кровати. Заголовок — безапеляционный, рубит в темя.
А внутри сообщение что-то вроде «купил две разные отвертки и прикрутил полку на стену, а книги на полку положить не могу!». Какие шурупы, какая стена, положить не можешь потому что криво повесил или полка упала?

Вот такое ощущение от поста

А если серьезно.

1. «Какие шурупы?» Как защищал — на каких настройках? Ведь у SecureSWF их несколько — от «без защиты для проверки» до «агрессивно».
2. «Какая стена?» Какие ресурсы позволяет доставать — код например? И он что, читаем и выглядит прямо как до защиты? Дело в том, вообще говоря, указанные программы защищают только код. Довольно подробно я отписался на флешблогах. Вкратце — как минимум происходит обфускация, после которой — НИКАКОЙ декомпилер не может достать код в том же виде что он был у тебя. Самое максимальное что возможно — декомпилировать так, чтобы собралось обратно компилером. Однако код будет — нечитабельный все равно.

Вобщем, по аналогии, про меня:
«Скачал триальную версию SecureSWF, на агрессивных настройках успешно обработал игру. Встроенный сайтлок работает, попытки декомпилировать Sothlink и Trillix приводят либо к падению декомпиляторов либо к ошибкам и отказу продолжать декомпиляцию»

Ссылку на «SWF Decompiler» в студию.

Вернуться наверх Зарегистрирован: Чт июл 15, 2010 8:27 am
Сообщений: 2

Честно говоря, если программа позиционируется, как защищающая swf от постороннего взлома, то она и должна защищать. Код в swf — это не главное. Гораздо важнее — защитить арт, звук и т.д. Я понимаю, что для большинства криворуких флэшеров (это я не про присутствующих здесь, вы и сами понимаете про кого речь) графика и звуки — неглавное, потому что они и сами тащут (а иногда даже и просто воруют чужую графику) их отовсюду. Поэтому для создателей уникального авторского контента защита игровых материалов является более актуальной, чем какой-то код.

Вернуться наверх Зарегистрирован: Вт сен 08, 2009 11:42 pm
Сообщений: 1766
Сайт: http://pandazzz.com/

Честно говоря, если программа позиционируется, как защищающая swf от постороннего взлома, то она и должна защищать. Код в swf — это не главное. Гораздо важнее — защитить арт, звук и т.д. Я понимаю, что для большинства криворуких флэшеров (это я не про присутствующих здесь, вы и сами понимаете про кого речь) графика и звуки — неглавное, потому что они и сами тащут (а иногда даже и просто воруют чужую графику) их отовсюду. Поэтому для создателей уникального авторского контента защита игровых материалов является более актуальной, чем какой-то код.

SWF — открытый формат, защитить в нём ничего кроме кода нельзя по определению.

Вернуться наверх Зарегистрирован: Пт авг 07, 2009 11:13 am
Сообщений: 1105
Откуда: Ukraine Simferopol

Честно говоря, если программа позиционируется, как защищающая swf от постороннего взлома, то она и должна защищать. Код в swf — это не главное. Гораздо важнее — защитить арт, звук и т.д. Я понимаю, что для большинства криворуких флэшеров (это я не про присутствующих здесь, вы и сами понимаете про кого речь) графика и звуки — неглавное, потому что они и сами тащут (а иногда даже и просто воруют чужую графику) их отовсюду. Поэтому для создателей уникального авторского контента защита игровых материалов является более актуальной, чем какой-то код.

1. Ага, значит все-таки «Sothink SWF Decompiler», а то «SWF Decompiler» это сильно общее понятие под которое подпадает не одна тулза, вы как-бы сказали нам что у вас пила, но не сказали какой марки. На всякий случай для интереса скачаю самый распоследний и попробую, ибо вообще говоря — он падает при попытке сделать из защищенной SecureSWF флешки fla файл.

2. Вы художник? Ибо интересно с чего вы взяли что «код не главное». Между прочим, чужой арт можно невооруженным взглядом определить, просто глядя на игру. А вот код трудно. Это надо очень особенные особенности в поведении игры заметить, чтобы заподозрить использование вашего кода как движка. Только в случае полных клонов и рипоффов можно попробовать проверить. Да и то — если клон зашифрован тем же SecureSWF — это гемор.

Вобщем, не надо тут про криворуких флешеров. Вот не хочется повторяться я писал http://flashgameblogs.ru/blog/software/ . omment1889

Вкратце — игры ломают в первую очередь для того чтобы срубить сайтлок, срезать рекламу и вставить свою, УБРАТЬ графику, по которой можно легко выпасти рипофф, ОСТАВИТЬ код и сделать полегкому клон/рипофф и этим заработать и скорее всего подосрать автору.

Защищают игры для того чтобы их не свиснули с портала или аукциона, чтобы не срезали рекламу итд итп.

Вернуться наверх Зарегистрирован: Чт авг 27, 2009 1:01 pm
Сообщений: 475
Откуда: Украина, Симферополь

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

ЗЫ. Никогда не понимал людей, которые с пренебрежением относятся к чужой работе. Вам было бы приятно слышать, что никому нахрен не нужны какие-то ваши рисуночки.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL