- PVSM.RU - https://www.pvsm.ru -
И вот минуло уже почти три месяца с момента нашего первого анонса облачная защита для .NET приложений [1]. Все это время мы не теряли времени даром и активно работали над улучшением нашего продукта. В выявлении приоритетных направлений и обнаружении наиболее острых проблем нам очень помогло активно включившееся в испытания первой публичной версии хабросообщество. Большое спасибо Вам, от лица нашей команды!
Для того, чтобы защитить Unity 3D приложение, достаточно отправить на обфускацию сборки с пользовательским кодом из папки Managed, и затем заменить их на защищенные версии.
Некоторые примеры умного распознавания
string name = "Second";
var result = (Mode)Enum.Parse(typeof(Mode), name);
Анализатор определяет, что для enum'а Mode используется определение значения по имени, и помечает его вместе со всеми членами, как запрещенный к переименованию.
var serializer = new XmlSerializer(typeof(RealySerializable));
var writer = new StringWriter(new StringBuilder());
serializer.Serialize(writer, new RealySerializable());
string res = writer.ToString();
public enum DataState
{
One,
Two
}
public class RealySerializable
{
public int MyProperty { get; set; }
public DataState State { get; set; }
}
Как видите, RealySerializable и DataState не помечены атрибутом SerializableAttribute, но обнаружив инициализацию XmlSerializer с типом RealySerializable, анализатор кода исключает его из переименования. Аналогичный подход работает и для других сериалайзеров (JSON, Binary и т.п.). Обнаружив, что в сериалзиуемом типе задействован enum DataState, анализатор так же пометит его как сериализуемый.
var instance = Activator.CreateInstance(anyUnresolvedName);
var work = instance as IRef;
Допустим имя формируется динамически, соответственно анализатор не может понять чему равен anyUnresolvedName, но он находит явное приведение к интерфейсу IRef, и запрещает переименование всех его наследников.
Аналогично работают и другие случаи, попробуйте сами: appfuscator.com [3]
В этой версии мы еще плотнее приблизились к нашей заветной цели — сделать так, чтобы Вы вообще не думали об обфускации, а просто получали готовый результат для любого Вашего проекта.
Очень скоро мы планируем запуск личного кабинета пользователя и еще пару приятных и полезных нововведений. Следите за новостями.
И конечно, как всегда, мы будем очень рады Вашим пожеланиям и хорошим идеям.
Автор: Anakonda
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/net/20098
Ссылки в тексте:
[1] облачная защита для .NET приложений: http://habrahabr.ru/post/150127/
[2] Image: http://66bit.ru/files/paper/appfuscator-v2/WPF.png
[3] appfuscator.com: http://appfuscator.com
[4] Источник: http://habrahabr.ru/post/158643/
Нажмите здесь для печати.