Обфускация и ее преодоление

         

трехмерное графическое


Спрашивается — а на хрена такая красивая трехмерная "репрезентация" вообще нужна? Что она реально

отображает? С другой стороны, от "низкоуровневого" дизассемблирования на уровне ассемблерных команд тоже не много пользы. Современные программы стали слишком большими, количество уровней абстракций измеряется многими десятками и "плотность" значимого кода неумолимо стремиться нулю. Программа, размером в сто мегабайт реализует простейший алгоритм, в былые времена с легкостью умещающихся в несколько килобайт. Какие там обфускаторы…

Отсюда — многочисленные попытки визуализации потока выполнения программы, поднимающие нас на уровень анализа структуры

кода, спускаясь к машинным командам только там, где это действительно необходимо. К сожалению, эта методика работает намного хуже, чем выглядит и только усложняет анализ. Стандартный режим дизассемблирования, к которому мы все привыкли, все еще присутствует в IDA PRO (во всяком случае пока), но уже не является режимом по умолчанию. Вот такая блин тенденция…



Содержание раздела