Шифрование as3 flash .swf

#flash #actionscript-3 #swf-decompiler

#flash #actionscript-3 #swf-декомпилятор

Вопрос:

Я пытаюсь защитить код моего as3 .swf flash-файла от декомпиляции. Однако я не могу тратить $ $ $ на коммерческие компиляторы. Как я могу бесплатно зашифровать свой swf-файл?

Ответ №1:

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

Если вы даже хотите попробовать, то это все, что я могу предложить:http://www.kindisoft.com /

Надеюсь, это поможет.. Или, по крайней мере, объясняет, почему вам не стоит тратить время на попытки.

Комментарии:

1. Я нашел метод шифрования, но я не уверен, что это лучший. Я шифрую swf с помощью xor, встраиваю его в другой и расшифровываю во время выполнения

2. Что именно вы пытаетесь защитить? Вы создали какой-то алгоритм, который хотите сохранить в секрете?

3. Код содержит несколько функций, которые представляют для меня большую ценность

4. Если у вас возникнут проблемы с людьми, использующими ваш код — вы всегда защищены законами об авторском праве 😉

5. Если вы расшифровываете во время выполнения, они могут просто получить swf-файл в это время и декомпилировать его оттуда.

Ответ №2:

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

Ответ №3:

Как говорили другие в этой теме, я, честно говоря, не стал бы тратить ваше время; даже если бы вам пришлось раскошелиться на secureSWF; вы действительно можете добиться только запутывания, а не полного шифрования, поскольку байт-код должен быть загружен в память для выполнения во flash Player (и, следовательно, может быть удален).

Если вы хотите больше прочитать об этом предмете (и действительно, узнать больше о том, как обойти распространенные методы шифрования SWF), то я бы посоветовал потратить некоторое время на блог Жан-Филиппа Ауклера, особенно на статьи в категории безопасность.

Ответ №4:

Хотя это старая тема .. Я подумал, что мог бы добавить это сюда.. На самом деле это не считается «шифрованием», но это помогает с некоторой защитой, сначала вам нужно будет распаковать ваш файл flash.. Это можно сделать с помощью определенных инструментов.. Я пытаюсь создать флэш-декомпрессор / компрессор на Java, но.. Я вроде как новичок в Java, но я неплохо освоился с AS3 .. вот простое решение…

Перво-наперво.. Переименуйте все ваши классы во что-то, чего нет в AS3 .. не называйте это как Class или Main, измените их все на SillySilly1, SillySilly2 … и т.д.. После того, как вы это сделаете, переходите к следующему шагу

Получите декомпрессор … Распаковать файл из CWS в FWS с помощью декомпрессора довольно просто, ну а мой способ — просто перетащить файл и выбрать имя, под которым вы хотите сохранить распакованную копию..

Возьмите шестнадцатеричный редактор.. Итак, это та часть, которая поможет защитить ваш файл, откройте ваш любимый шестнадцатеричный редактор mines HxD .. Продолжайте и перетащите ваш распакованный файл в шестнадцатеричный редактор, его первые три байта должны быть FWS, если CWS все еще сжаты..

Следующим шагом будет использование функции поиска и поиск всех имен ваших классов по отдельности.. После того, как вы их найдете, начните заменять их именами, такими как ‘@% F $ @!fd #!’, Просто набором случайных символов.. Причина, по которой я сказал вернуться назад и изменить их в вашем проекте выше в посте, заключается в том, чтобы вам было проще находить их в шестнадцатеричном редакторе.. Но да, после того, как вы замените все имена классов, которые вы обнаружите, это заменит то, как это выглядит в декомпиляции, и когда они смотрят на код, имена классов там также изменяются, так что это будет похоже

частная переменная Привет: $@#!!$

Довольно приятная вещь, которую нужно научиться делать.. Надеюсь, это поможет всем, кто прочитает это в будущем..

  • Xploit