Обфускация кода как средство защиты

Веб программистам сложно хранить свои секреты. PHP, Perl, javascript, CSS — все это текстовые файлы. Код открыт. Значит любой сможет узнать как работает программа, скопировать, изменить её код. Достаточно иметь под рукой текстовый редактор, и вы узнаете все секреты.

Как защитить свой код?

Если вы встроили в программу какую то защиту, например надпись о том, что используемая копия программы не имеет лицензии. То в случае программы (сайта), написанной на PHP, этот код можно найти и убрать. Но до PHP-кода ещё нужно добраться. Он хранится на сервере, и его копию получить все же не так то просто.

А что если вы пишите классные виджеты на javascript? Даже просто показывая пример, как работает ваш классный скрипт, вы раскрываете ваш код. Так как javascript выполняется на компьютере пользователя, программа должна быть загружена на компьютер пользователя. Это всего лишь текстовый файл с расширением js.

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

Что если ваш код выглядит как то так?

На самом деле это:

Есть разные вариации этого подхода. Некоторые обфускаторы шифруют довольно примитивно, текст программы можно восстановить. Некоторые выдают код, который не каждый браузер сможет переварить, т.е. работают не везде. Мой пример взят вот здесь — http://utf-8.jp/public/aaencode.html, он зарекомендовал себя хорошо :).

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

Мало букафф? Читайте есчо !

Анонимная имплементация интерфейса в kotlin

Январь 18, 2025 г.

На Java этот трюк хорошо обкатан, IDE Android Studio по одному клику вставляет шаблон для реализации кода выбранного интерфейса. На kotlin это работает ...

Читать

Проверка checkbox состояния checked, jQuery

Февраль 19, 2020 г.

Шаблон для проверки состояния элемента input[type='checkbox']. Код проверяет отмечен элемент или нет. [crayon-68a2aae495d3e843524589/] Проверка выполняется с помощью метода is(), который читает в данном случае не атрибуты тега input, а именно ...

Читать

Перенос базы PostgreSQL с сервера на сервер

Январь 24, 2017 г.

Не простая операция,  если вы не имели опыта настройки / работы с postgresql до сих пор. Расскажу поэтапно как выгрузить дамп базы, и как затем этот дамп ...

Читать

Создание параграфов из CSV файла

Февраль 27, 2024 г.

Параграфы, оторванные от родительской entity нам не нужны, потому эта миграция является дочерней к рассматриваемому примеру миграции статей блога из CSV. Из всего набора полей источника нам требуется только два поля - это id и body. migrate_plus.migration.custom_text_to_paragraph.yml ...

Читать
 

Комментарии к «Обфускация кода как средство защиты»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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