1

Есть ли надежный способ предотвратить копирование кода actionscript (as2 или as3) (например, если в нем есть какой-то IP-адрес)? Я знаю, что есть инструменты, которые могут декомпилировать флэш-код, поэтому он легко реконструируется, и я также видел несколько инструментов, которые утверждают, что могут обфускать код ActionScript таким образом, что он не краден, но мне интересно, как надежны они ... Знаете ли вы? Благодаря!Как предотвратить код ActionScript decompilaton

ответ

2

Это, по определению, невозможно предотвратить.

Причина проста, код должен быть запущен на клиенте, поэтому клиент должен уметь читать его.

Лучшее, что вы можете сделать, - это сделать так тяжело (требуя времени), чтобы сделать это, а не прибыль. Flash имеет встроенную функцию для защиты от декомпиляции с паролем. Я не уверен, как это работает, я предполагаю, что некоторые формы шифрования.

Вы можете попытаться просветить чувствительные данные и присоединиться к ним во время выполнения, og зашифровать его и получить ключ дескриптора с сервера.

Но в конце концов вы ничего не сможете сделать. Если вы не хотите вводить ключ шифрования (пароль или файл). В Flash нет встроенного шифрования, но есть несколько бесплатных библиотек, таких как crypto lib http://code.google.com/p/as3crypto/.

2

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

  • это будет влиять на производительность вашего кода
  • это будет просто вопрос времени, прежде чем кто-то делает/находит декомпилятор для этого запутывания метод

Я бы не счел хорошей практикой полагаться на безопасность вашего клиентского кода. Даже если код не может быть декомпилирован, swf запускается на клиенте и взаимодействует с Интернетом через сетевое соединение, к которому пользователь имеет доступ. Пакеты могут быть обнюханы, и все передаваемые данные могут быть легко проанализированы.

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