Динамічний код переміщення - це остаточний інструмент для анти-відбиття та CIL-анти-налагодження. Це рішення для захисту програмного забезпечення, яке може повністю припинити будь-які спроби перепрофілювати ваші програми. Він захистить коди від будь-яких відбивачів, розпилювачів, декомпіляторів і навіть відладчиків IL.
На відміну від інших подібних продуктів, ми не розшифровуємо та не створюємо жорсткі кодування методів під час виконання, оскільки цей тип методу все ще може бути підданий процесу процесора / відбивача. 'Динамічний код переміщення' приховує коди IL за допомогою динамічних методів.
Коди IL видаляються з методів / властивостей і замінюються неініціалізованими делегатами.
Ці делегати є просто порожніми власниками місць, їх значення встановлено як нуль.
Витягнуті коди потім зашифровуються і безпечно зберігаються, тому немає кодів IL, які будуть відображатися будь-якими відбивачами.
Під час виконання цих кодів ці коди завантажуються, розшифруються та динамічно перетворюються в динамічні методи, а потім асоціюються з делегатами (власник місця) відповідно до вказаного режиму:
Попереднє завантаження: динамічні методи / делегати створюються на початку програми.
LoadOnFirstCalled: динамічний метод буде створено та призначений асоційованому делегату, коли метод буде викликаний вперше.
+ LoadAndDiscard: динамічний метод створюється і призначається асоційованому делегату кожного разу, коли метод викликається, а потім відкидається після повернення методу абоненту.
Ці динамічні методи не можуть бути відображені, розібрані або декомпілюються.
Process Dumper / Reflector побачить лише декларації делегата. Він не зможе бачити основні генеровані динамічні методи.
Деблогатори CIL не можуть відстежувати або відстежувати безпосередньо в динамічні методи.
Для додаткового захисту Dynamic Code Displacing також може конвертувати затуплені збірки. Обфушування лише не забезпечує достатнього захисту від сучасних відбивачів. Дуже складні рефлектори мають можливість призначати імена з їх функціональних можливостей. Додавши динамічний код переміщення, крім обфусації, це не дозволить рефлекторам аналізувати ваші коди (без кодів для аналізу). Обмануті імена залишаються заплутаними.
"Динамічний код витіснення" - спеціалізований інструмент завалювання, який лише забезпечує здатність переховування / витіснення коду. Він може бути використаний у комбінації з іншим стандартним обфускатором, якщо додаткове засліплення все ще потрібне. Вам не потрібно використовувати наш обфускатор, не соромтеся користуватися будь-яким із ваших улюблених або вже наявних обфускаторів.
Вимоги :
.NET Framework 4.7
Обмеження :
Коментар не знайдено