Что такое обфускация кода?

Опубликовано: 05.09.2018

видео Что такое обфускация кода?

JavaScriptигры в прятки

Когда программист создает программу для продажи или даже свободного скачивания, он явно не мечтает о том, чтобы алгоритмы работы программы стали доступны широкому кругу людей, а таких исследователей сейчас немало. Причин много: может, он вложил в этот алгоритм годы труда, а другой доработает пару строк и заработает на этом миллионы. Или просто поднимут на смех, узрев ошибки и неточности работы программы. Для коммерческих программ кража и взлом алгоритма означает опасение остаться без дохода, на который рассчитывал разработчик. В любом случае, программы всегда старались зашифровать или запутать, чтобы хакеры, столкнувшись с трудностями анализа, не стали ею дальше заниматься. Такие программы, которые автоматически запутывают исходный, готовый или промежуточный код в непонятную «кашу», называются обфускаторами.



Вносимые изменения в код не являются функциональными или опасными, а вноситься могут автоматически. Лишний код не влияет ни на что в программе, но догадаться об этом сложно. Поэтому, обфускаторы сегодня встраивают в компиляторы или реализуют отдельными модулями, программами или библиотеками. Наиболее часто изменению подвергаются исходный код (чтобы не усложнять компилятор), особенно в плане функций контроля проверки лицензированной копии продукта. Иногда обфускация применяется и вручную, и тогда на выходе получается нечто вроде «индусского кода», который даже сам автор не прочитает. В старое время, когда применялись традиционные компилирующие языки, такое шифрование требовалось нечасто, так как анализ машинного кода не мог с точностью воссоздать даже ассемблерный листинг программы, но сегодня все изменилось. В моду вошли компиляторы байт-кодов для виртуальных машин Java/.NET, причем для программ на этих платформах было легко вернуть скомпилированную программу обратно в исходный код. Аналог такой декомпиляции был и раньше, когда удавалось получать исходные данные для программ не Бейсике, FoxPro и аналогичных языках СУБД. Сейчас декомпиляторы байт-коды выложены в Интернете, и скачивать их может любой, кто умеет пользоваться. Понятно, что существуют и более продвинутые инструменты шпионажа за кодом и его анализом, но такие инструменты сами нуждаются в защите от воровства.


Защита кода сборки от декомпиляции в Visual Studio (Xamarin Studio)

Применение обфускатора – вынужденная мера от воровства коммерческого кода, причем неприятная и для разработчика: ему приходится писать больше кода и сопровождения для своих программ. В некоторых случаях обфускатор мог попросту сделать программу неработоспособной. Но рискнуть все же, стоит, даже если после внесения шумового кода программа станет работать чуть медленнее. Наличие подобных приемов, внедренных в программу, специально не афишируется, но любая коммерческая программа обязательно содержит несколько уровней различной защиты. А хакерам только этого и надо: если хакер настоящий, то его интерес лежит не в деньгах, а в развлечениях с кодом. Интересно, появятся ли декомпиляторы обфускаторов?

2761

Финансовый аналитик: новая профессия для новой экономики


Профессия будущего: Системный аналитик - профессия будущего, системный аналитик - Trend Club
Будущее - уже определено сегодня, остается только его реализовать. Что делать сегодняшнему студенту или ученику для того, чтобы получить интересную, захватывающую работу, которая будет приносить

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

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

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

Форекс брокер Альпари отзывы и обзор услуг и сервисов компании
Проголосовали: 902 За 88 %, Против 12 % За Против

Разница между науками о финансах и экономике. Экономическая статья на английском с переводом
Сайт Деловой английский www.delo-angl.ru Опубликовано: 14.04.2016 Хотя зачастую они изучаются и представляются как совершенно раздельные дисциплины, экономика и финансы, как науки, взаимосвязаны, разделяют

12 лучших сервисов для веб-аналитики
В статье вы узнаете о самых популярных инструментах для веб-аналитики, их функциональности и стоимости. И начнём мы с двух самых известных сервисов – Google Analytics и Яндекс.метрика. Вероятно, что каждый

Big Data – технология, рождающая новый тип бизнеса::БИТ 03.2014
Big Data – технология, рождающая новый тип бизнеса Главная / Архив номеров / 2014 / Выпуск №3 (36) / Big Data – технология, рождающая новый тип бизнеса Рубрика: Тема номера /  Системы хранения

Big Data и блокчейн — прорыв в области анализа данных
Постоянное ускорение роста объема данных является неотъемлемым элементом современных реалий. Социальные сети, мобильные устройства, данные с измерительных устройств, бизнес-информация

Добро пожаловать , Гость !

Мы настоятельно рекомендуем Вам зарегистрироваться, если вы ещё этого не сделали. регистрация откроет Вам новые функции.

Войти или Зарегистрироваться

www.silvio-berluskoni.ru © Все права защищены © 2016.
rss