HTML5-игры имеют видимый исходный код. Есть ли способ сделать их как SWF-файл?
Как скрыть алгоритм игры?
Что вы думаете о плагине Firefox JavaScript Deobfuscator и обфускации?
HTML5-игры имеют видимый исходный код. Есть ли способ сделать их как SWF-файл?
Как скрыть алгоритм игры?
Что вы думаете о плагине Firefox JavaScript Deobfuscator и обфускации?
Ответы:
Если вы хотите защитить свой источник, не пишите его в HTML / Javascript?
Часть действительно хороших вещей о сети, так как она понятна человеку. Это делает его отличным учебным ресурсом. Если вы говорите мне, что никогда не смотрели на источник сайта, чтобы узнать, как он что-то делает, то не стесняйтесь сказать мне, что я неправ.
Я все делюсь любовью с кодом, иначе я бы не стал отвечать на вопросы на сайте о предложении помощи, все бесплатно, не так ли?
Изменить: я сказал, что я думаю об этом, есть ли способ сделать его не читаемым? Нет, не в чистом JS / HTML. Причина этого проста: где-то вниз по линии это становится читабельным. Если вы запутываете его, то вас получает деобфускатор. Если вы используете шифр или каким-то образом перевели его, в какой-то момент вам придется перевести его обратно в javascript (и код для его перевода тоже должен быть в вашем источнике!).
Лучшее, что вы можете сделать, это защитить от кражи пропускной способности и запутать, если вы действительно чувствуете необходимость, но это не остановит людей, если они действительно настроены.
Вы можете поместить много этого на сервер через Node.js и просто вернуть обратно результаты функций. но кроме этого, как говорит Мэтт Кемп. Код, который запускается, читается человеком, его невозможно скрыть.
Даже если вы не запутываете свой код, HTML / JS уже находится на том же уровне сложности, что и обратный инжиниринг, как SWF.
SWF-файлы содержат исходный код Actionscript (IIRC), комментарии и т. Д., Если они не запутаны. Имена объектов и т. Д. Также содержатся в SWF.
Существуют SWF-декомпиляторы / перекомпиляторы, и только то, что вы не можете увидеть их в текстовом редакторе, не означает, что SWF никоим образом не защищен от реверс-инжиниринга.
На самом деле уровень запутывания действительно ничем не отличается от SWF. Вы можете запутать свой JS-код с помощью некоторого обфускатора, но это только затрудняет интерпретацию отчетов об ошибках.
Вы, вероятно, хотите сосредоточить свои усилия на том, чтобы сделать что-то, что стоит украсть, а не на том, чтобы люди это крали. Множество SWF-файлов срываются и используются в несанкционированных целях (с измененной графикой и т. Д.)
Используйте бесплатный Yahoo YUI компрессор.
Я использую его, потому что он сильно сжимает мой код (включая удаление комментариев и ненужных пробелов). Это позволяет мне комментировать и структурировать мой код именно так, как я хочу, не беспокоясь о том, как легко я делаю его для воров.
Кроме того, если вы хотите прочитать Javascript для сложного сайта после того, как все имена переменных и функций были по существу уничтожены - что ж, удачи в этом. Гораздо сложнее понять, что делает код, когда у вас нет подсказок.
(Хотя с YUI-компрессором вам может потребоваться расширить его функциональность, чтобы также избавиться от имен функций. Я изменил способ, которым я называю функции, специально для того, чтобы автоматически и выборочно удалять большинство имен функций. Для этого может потребоваться некоторый пользовательский код на вашем конце .)
HTML5-игры имеют видимый исходный код. Есть ли способ сделать их как SWF-файлы?
Да, используйте Flash и переведите свой код в ActionScript.
Как можно скрыть игровые алгоритмы?
В абсолютном выражении вы не можете этого сделать.
Что вы думаете о плагине Firefox JavaScript Deobfuscator и обфускации?
Запутывание - не что иное, как очень тонкий барьер для кого-то, кто будет серьезно относиться к краже вашего кода. Тем не менее, он прост в настройке, он может дать отпор самым глупым сценаристам, и это единственное, что вы можете сделать для защиты клиентского кода. Дополнительным преимуществом является то, что он уменьшает размер скрипта (ускоряет загрузку) и может даже оптимизировать код (ускоряет выполнение). Проверьте эту запись на переполнение стека для деталей об обфускации. Резюме: у вас есть много вариантов. Я лично попробовал UglifyJS и получил очень хорошие результаты.
Как мы все знаем, HTML5 опирается на JavaScript как язык программирования. Теоретически все инструменты, которые защищают JavaScript, должны работать на HTML5.
Единственный известный мне инструмент, который в настоящее время поддерживает HTML5 в контексте разработки игр, - это JScrambler . Я не уверен, что другие будут работать.
Для морской свиньи обсуждение, запутывание не серебряная пуля. У нас есть программное обеспечение, которое скомпилировано в зашифрованном виде, защищено несколькими решениями по защите от копирования, и все же мы можем получить его без оплаты. Тем не менее, я считаю, что запутанность превосходит оставление вашего кода открытым для любого, чтобы читать, когда вы не намерены.
Я действительно люблю open source и поддерживаю движение, но иногда закрытие источника имеет большой смысл.