Удаление событий и свойств
При обфускации данного типа используются следующие методы:
- Удаление свойств
Данный метод заключается в удалении метаданных свойств из сборки, в результате чего становится невозможным восстановление или использование данных свойств из языков высокоуровневых языков (C#, VB, ...).
- Удаление событий
Данный метод заключается в удалении метаданных событий из сборки, в результате чего становится невозможным восстановление или использование данных событий из языков высокоуровневых языков (C#, VB, ...).
Настройка параметров удаления событий и свойств
Внешний вид вкладки Удаление событий и свойств (с пометками)
Опции:
- Разрешить удаление событий и свойств - Включение режима обфускации событий и свойств;
- Сборка - сборка, для которой устанавливаются опции обфускации;
- Удаление свойств - данная опция включает для сборки режим удаления свойств по методу описанному выше;
- Удаление событий - данная опция включает для сборки режим удаления событий по методу описанному выше;
Пример результата обфускации с опцией Удаление событий и свойств (просмотр осуществляется с использованием утилиты .Net Reflector):
// До обфускации, на C#
public class Class3
{
// Events
public event EventHandler TestEvent;
// Properties
public string TestField
{
get
{
return "";
}
set
{
}
}
}
// После обфускации, на C#
public class Class3
{
// Fields
private EventHandler TestEvent;
// Methods
[MethodImpl(MethodImplOptions.Synchronized)]
public void add_TestEvent(EventHandler value)
{
this.TestEvent = (EventHandler) Delegate.Combine(this.TestEvent, value);
}
public string get_TestField()
{
return "";
}
[MethodImpl(MethodImplOptions.Synchronized)]
public void remove_TestEvent(EventHandler value)
{
this.TestEvent = (EventHandler) Delegate.Remove(this.TestEvent, value);
}
public void set_TestField(string value)
{
}
}