· Розроблення критичних частин програмного коду на С++, з компіляцією його в машинний (native)код у формі динамічних бібліотек (dll) та їх подальше використання в програмі на .NETFramework. Для захисту коду отриманої dll можна використовувати ті ж самі методи, що й для звичайних програм.
· Виконання і зберігання критичних модулів програми на зовнішньому носії (наприклад, електронний ключ) чи в мережі (наприклад, інтернет), що унеможливлює доступ користувача до програмного коду цього модуля. Недоліком цього методу є необхідність використання деякого апаратного засобу або наявність підключення до мережі.
В курсовій роботі були розглянуті проблеми захисту програмного забезпечення, засоби і методи унеможливлення несанкціонованого дослідження програмного коду. Також була розглянута технологія .NETFramework, та проблеми захисту ПЗ створеного на її основі. Технологія .NETFramework дає розробникам багато зручних і корисних засобів, які дозволяють швидко створювати і розповсюджувати (за рахунок незалежності від апаратної платформи і використання MSIL) якісні програмні продукти. Але вона має суттєвий недолік – програми на її основі дуже легко піддаються дослідженню за допомогою декомпіляторів, таких як .NETReflector, роботу якого було розглянуто в курсовій роботі. Найбільш простим і найменш трудомістким способом захисту таких програм, є використання обфускаторів. Нажаль, на даний час, не існує безкоштовних обфускаторів .NET коду, які забезпечують достатньо високий рівень захисту. Проте існує досить багато платних обфускаторів, які використовують одночасно і символьну обфускацію, і заплутування програмного коду і заплутування потоку управління. Зокрема всі ці функції має DotfuscatorProfessionalEdition безкоштовна версія якого постачається разом із середою розроблення VisualStudio.