Обфускация Flex / Air [закрыто]

Я написал (большую часть) приложение на Flex и занимаюсь защитой исходного кода. Я запустил демоверсию Trillix swf decompiler и открыл файл swf, который был установлен в мою папку Program Files. Я видел, что все пакеты ActionScript, которые я написал, были там. Я не слишком беспокоюсь о пакетах, даже несмотря на то, что кода достаточно много, потому что он кажется довольно непригодным для использования без файлов mxml. Я думаю, что они преобразованы в ActionScript, или, по крайней мере, я надеюсь. Тем не менее, я все еще хотел бы изучить запутывание.

У кого-нибудь есть опыт работы с обфускаторами Flash / Actionscript 3 / Flex? Можете ли вы порекомендовать хороший продукт?

7.08.2008 14:41:42
4 ОТВЕТА
РЕШЕНИЕ

Вот что я бы сделал.

  • Скомпилируйте ваше приложение в файл SWF. Затем зашифруйте SWF с помощью AES.

  • Создайте приложение-оболочку, которое загружает зашифрованный SWF-файл в ByteArray с помощью URLLoader

  • Используйте библиотеку as3crypto для расшифровки SWF во время выполнения.

  • После дешифрования используйте Loader.loadBytes, чтобы загрузить дешифрованный swf в приложение-оболочку.

Это усложнит получение вашего кода. Не невозможно, но сложнее.

Для приложений AIR SWF-файл можно оставить зашифрованным при доставке приложения конечному пользователю. Затем вы можете предоставить регистрационный ключ, который содержит ключ, используемый для расшифровки SWF.

Кроме того, вот ссылка на обфускатор AS3. Я не уверен, насколько хорошо это работает, хотя. http://www.ambiera.com/irrfuscator/index.html

13
7.08.2008 16:28:34

Процедура, предложенная maclema, на самом деле не помешает любому злоумышленнику получить исходный код - «приложение-обертка» должно быть незашифровано, чтобы злоумышленник мог узнать, что вы используете AES (или любой другой алгоритм), и он получит ключ дешифрования аналогичным образом (потому что он должен быть где-то в открытом тексте). Как только он получит это, он сможет легко расшифровать ваш SWF-файл.

Единственное надежное решение (ну ...) - это какой-то обфускатор - мы используем Amayeta, который работает для Flex в последней версии - пожалуйста, смотрите http://www.amayeta.com/software/swfencrypt/ .

20
25.09.2008 11:03:36
Я думаю, что это ответ, который должен быть принят.
Snow Blind 22.08.2013 07:07:54

Ну, на мой взгляд, самое простое и безопасное решение - смесь маклемы и ответа Борека:

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

Итак: если вы используете решение maclema для своего большого приложения и используете обфускацию в своей оболочке (это маленькое приложение, которое, вероятно, будет очень легко запутать), ваш код будет самым безопасным, а наименьшее - трудным. Только очень злой пират может потратить время на то, чтобы перепроектировать обфускацию, чтобы затем расшифровать пакет ... Ну, если кто-то хочет, чтобы код вашего приложения был слишком плохим, это либо связано с ЦРУ, либо вы уже очень богаты (или оба)

спасибо всем за ваши ответы

3
29.04.2011 16:33:33

Недавно я выпустил игру для iOS и Android с использованием Flash. Я искал в интернете хорошую бесплатную программу для защиты исходного кода в моем SWF и не смог ничего найти, поэтому написал ее. Он все еще находится в стадии разработки, и его «используют на свой страх и риск», но это сработало для меня.

Это выпущено на github. Проверьте это и дайте мне знать, что вы думаете.

https://github.com/Teesquared/flasturbate

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

Этот обфускатор работает непосредственно с SWF-файлом. В настоящее время он только переименовывает символы, но он построен на платформе, которая может поддерживать изменение байт-кодов в будущем.

0
12.01.2014 17:31:28