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

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

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

captcha

Антипкин Михаил Сергеевич о метавселенной, открывающей безграничные возможности для инноваций и экспериментов Антипкин Михаил Сергеевич о метавселенной
Сёрфинг с браузером FraudFox: исчерпывающее руководство Сёрфинг с браузером FraudFox
Где найти лицензионные ключи активации к ПО? Где найти лицензионные ключи активации к ПО?
Курсы веб дизайна: обучение онлайн Курсы веб дизайна: обучение онлайн
Как продлить срок службы бытовой техники? Как продлить срок службы бытовой техники?
Основы VPS/VDS: что нужно знать перед арендой? Основы VPS/VDS: что нужно знать перед арендой?
Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров
Топ-10 игр для Android стоимостью менее $5 Топ-10 игр для Android стоимостью менее $5
Проверка авто в базе ГИБДД перед покупкой Проверка авто в базе ГИБДД перед покупкой
Бизнес-психология в онлайн-институте Smart Бизнес-психология в онлайн-институте Smart
Как открыть расчётный счёт в банке для ИП и ООО? Как открыть расчётный счёт в банке для ИП и ООО?
Завис айфон: что делать? Завис айфон: что делать?
Обзор смартфона iPhone 15 Обзор смартфона iPhone 15
Системы видеонаблюдения в частном доме: характеристики и настройка Системы видеонаблюдения в частном доме: характеристики и настройка
Что такое партнёрская программа? Что такое партнёрская программа?
Анализируем рекламу Google Ads для оптимизации кампаний Анализируем рекламу Google Ads для оптимизации кампаний
Аренда сервера в immers.cloud Аренда сервера в immers.cloud
Мастерство самоорганизации: 5 приемов для успешного планирования Мастерство самоорганизации: 5 приемов для успешного планирования
Взлом голосовых помощников ультразвуком Взлом голосовых помощников ультразвуком
Как создавать промпты для ChatGPT: главные правила Как создавать промпты для ChatGPT: главные правила