Методи обфускації коду. Перетворення керуючої логіки та обчислень. Модифікація зв"язків спадкування. Реструктуризація масивів. Конвертація статичних і процедурних даних. Обфускація перешкоджає статичному аналізу програм. Запобігання лінійної розгортки.
Аннотация к работе
Основною метою загальних методів обфускації коду є заплутування коду таким чином, що було б складно зрозуміти як даний код працює. Сам процес заплутування може бути як дуже простим, як наприклад якісь базові перетворення, так і надзвичайно складним, що змінює керуючу логіку і потоки даних. Перетворення керуючої логіки, використовувані в процесі обфускації, можуть розглядатися як перетворення, що роблять вплив на агрегацію, порядок і виконання операцій керуючої логіки. Це може бути здійснено за допомогою додавання складних блоків умов PT (завжди повертає True) і PF (завжди повертає False) які не впливають на те, скільки разів буде виконуватися тіло циклу. Іншими словами, якщо розділити клас на дві частини, в одній частині може помилково не вистачати змінних, які виявилися тільки в другій частині.