Люди, всем доброго дня. Читая разные статейки по Revers-Engineering, я часто встречал такие слова: "обфускация" и "мутация", но понять разницу между этими терминологиями мне так и не удалось. В интернете я нашел только определение обфускации(википедия): "Обфускация или запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции". Хорошо, всё понятно и здорово. Но тогда, исходя из определения выше, можно сделать вывод, что мутация - это синоним к обфускации, ведь мотив у защиты такого рода аналогичен - запутать, затруднить анализ! Но я уверен, что ошибаюсь, ведь не зря же люди разделяют эти понятия в своих статьях. Имхо, мутация - это частный случай обфускации? Но тогда, в чём отличительная черта?
мутация (code mutation) - само-модифицируемый код во время исполнения как робот трансформер оптимус прайм, сейчас я гончая машинка, а в следующию минуту мутант робот
Спасибо за ответ! Хехе, да, приходилось наблюдать такую интересную картину в отладчике. Теперь буду знать с чем имел дело)
обфускация имеет более широкий контекст например в мире дот нета - переименование имен типов (функций, классов, параметров и тдтп) чтоб реверсер не смог ничего понять в С С++ например export можно обфуцировать что них. не поняли читатели
Наоборот, обфускация - это частный случай мутации. Мутация в общем - это изменение внешнего вида кода с сохранением логики его работы. Обфускация - это такая мутация, которая призвана скрыть логику работы кода.