Обфускація графа потоку керування



Найбільш складною в плані реалізації, але найбільш стійкою до спроб злому є обфускація графа потоку керування. На сьогоднішній день існує лише кілька подібних обфускаторів. Обфускатори даного типу застосовують наступні методи:

· Перетворення обчислень. Даний метод полягає у вставці в алгоритми помилкових умов.

· Видалення або додавання абстракцій коду. Видалення абстракцій коду дозволяє крім рішення задачі обфускаціі також оптимізувати роботу програми. Наприклад: обфускатор може замінити виклик який-небудь функції безпосередньо тілом функції, або навпаки одну функцію замінити на кілька маленьких функцій.

· Перемішування випадковим чином лінійних ділянок.

 


Захист від дослідження ПЗ створеного за допомогою технології .NET

NET Framework

 

Microsoft .NET— програмна технологія, запропонована корпорацією Microsoft як платформа для створення як звичайних програм, так і веб-програм. Багато в чому є продовженням ідей та принципів, покладених в технологію Java.

Одною з ідей .NET є сумісність служб, написаних різними мовами.

Кожна бібліотека (збірка) в .NET містить інформацію про свою версію, що дозволяє усунути можливі конфлікти між різними версіями збірок.

.NET — кросплатформена технологія, на даний момент існує реалізація для платформи Microsoft Windows, FreeBSD (від Microsoft) і варіант технології для ОС Linux в проекті Mono (в рамках угоди між Microsoft з Novell).

Захист авторських прав відноситься до створення середовищ виконання (CLR — Common Language Runtime) для програм .NET. Компілятори для .NET випускаються багатьма фірмами для різних мов вільно.

.NET поділяється на дві основні частини — середовище виконання (по суті віртуальна машина) та інструментарій розробки.

Середовища розробки .NET-програм: Visual Studio .NET (C++, C#, J#), SharpDevelop, Borland Developer Studio (Delphi, C#) і т. д. Середовище Eclipse має додаток для розробки .NET-програм. Програми також можна розробляти в текстовому редакторі та використовувати консольний компілятор.

Також як і технологія Java, середовище розробки .NET створює байт-код, призначений для виконання віртуальною машиною. Вхідна мова цієї машини в .NET називається CIL (Common Intermediate Language), також відома як MSIL (Microsoft Intermediate Language), або просто IL. Застосування байт-кода дозволяє отримати кроссплатформеність на рівні скомпільованого проекту (в термінах .NET: збірка), а не на рівні початкового тексту, як, наприклад, в С. Перед запуском збірки в середовищі виконання (CLR) байт-код перетворюється вбудованим в середовище JIT-компілятором (just in time, компіляція на льоту) в машинні коди цільового процесора.

 

Декомпіляція .NETзбірок за допомогою .NET Reflector

 

У зв’язку з тим, що програми створені за допомогою .NETкомпілюються у проміжний MSILкод, а не у звичайні машинні коди, декомпіляція таких програм стає досить простою. Одним із найбільш функціональних декомпіляторів для .NETє .NETReflector.

.NET Reflector — безкоштовна утиліта для Microsoft .NET, комбінуюча браузер класів, статичний аналізатор и декомпілятор.

Програма може використовуватися для навігації, пошуку та аналізу вмісту. NET-компонентів, а також збірок і переводити двійкові дані у форму, придатну для читання людиною. Reflector дозволяє проводити декомпіляцію. NET-збірок на мови C#, Visual Basic.NET і MSIL. Reflector також включає дерево викликів, яке може використовуватися для навігації вглиб IL-методів з метою визначення, які методи вони викликають. Програма відображає метадані, ресурси і XML-документацію. .NET Reflector може бути використаний .NET-розробниками для розуміння внутрішньої роботи бібліотек коду, для наочного відображення відмінностей між двома версіями збірок, і того, як різні частини. NET-додатків взаємодіють один з одним.

.NET Reflector може використовуватися для знаходження місць, які мають проблеми з продуктивністю і пошуку багів. Він також може бути використаний для пошуку залежностей збірки. Програма може бути використана для ефективної конвертації коду між C # і VB.NET.

 


Дата добавления: 2019-07-15; просмотров: 132; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!