- PVSM.RU - https://www.pvsm.ru -
Примерно год назад у меня возник вопрос: Что такое обфускация? И зачем и что нужно обфусцировать?
Пытаться объяснить что такое обфускация своими словами не буду, а дам ссылку [1] на Википедию для незнающих. А вот вопрос: «зачем нужно обфусцировать?», начну рассматривать более подробно.
Я не буду выбирать между обфускаторами, какой лучше а какой хуже, а лишь расскажу вам, как я пытался разобраться в этом сам, и что я получил в итоге.
Обфускация кода это довольно непростое решение, особенно если проект часто обновляется и необходимо быстро применять обновления. Но бывают ситуации, что проект не обновляется или вообще не обновляется, и не только…
Можно выделить 3 главных цели обфускации:
Исходя из этих целей, необходимо выбрать правильный(-ые) варианты.
На данный момент, все считают, что обфускация применяется только для уменьшения размера файла, содержащего исходный код программы, зачастую это скрипт.
Не могу спорить с этим мнением, поскольку нельзя назвать его неправильным или правильным, но есть и другие плюсы и минусы обфускации. Тут необходимо взвесить все за и против.
Что дает обфускация на «выходе»?
Минусы правки обфусцированного кода
Как смотрят на это злоумышленники?
Конечно есть обфускаторы разного уровня сложности, что может защитить от деобфускации злоумышленниками, но лишь в малой степени. То есть они могут не понять логики какой-то части программы, благо если та часть действительно важна и играет роль в безопасности.
Обфусцировать можно практически все, ну за исключением компилируемых языков (хотя уже есть инструменты для обфускации компилируемых языков).
Обфусировать необходимо проекты с открытым исходным кодом. Считаю, что это правильно и такую тенденцию задали jQuery, а за ними и все другие.
Но нужно понимать, что обфусцировать программы, которые исполняются на сервере (программы на php, perl ...), не имеет смысла.
Рассмотрим почему:
Итог: Я не занимался подробным исследованием, а лишь взвешивал за и против обфусцирования. Можно (не обязательно) обфусцировать открытые программы, где виден код программы и важна скорость интернета. Не нужно обфусцировать закрытые программы, такие, которые выполняются на сервере или компилируются.
Автор: rsht123
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/obfuskatsiya/16473
Ссылки в тексте:
[1] ссылку: http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%84%D1%83%D1%81%D0%BA%D0%B0%D1%86%D0%B8%D1%8F
[2] ссылка: http://ctpp.havoc.ru/whatis.html
Нажмите здесь для печати.