Re: Как настроить обфускацию плагинов для "Inquartos Obfusca
От: nildar http://netobf.com
Дата: 08.10.08 09:45
Оценка:
Как настроить обфускацию плагинов (также открытых библиотек) — Рекомендации

При написании плагинов, нужно применять следующие методы:

1. Включить Переименование, при этом нужно обязательно включить опцию "Не переименовывать открытые объекты" (так же можно исключть какието классы из дерева исключений)
2. Включить обфускацию условных переходов
3. Включить шифрование строк
4. Включить защиту от декомпиляторов
5. Все классы, методы и свойства которые не используются снаружи (из других сборок) должны быть НЕ public — можно к примеру internal, private. Это делается для того чтобы при переименовании они не исключились.
6. Для классов, которые используются из других сборок желательно написать теневой класс или теневые функции:

например было:
public class MyPlugin :  IPlugin
{
   // IPlugin.Fun
   public string Fun()
   { 
      return “result”; 
   }
}


Лучше сделать его так:
public class MyPlugin : IPlugin
{
   private MyPluginShadow d = new MyPluginShadow();

   // IPlugin.Fun
   public string Fun()  
   { 
     return d.Fun();
   }
}
internal class MyPluginShadow
{
   // IPlugin.Fun
   public string Fun()  
   {
      return “result”; 
   }
}


или так

    public class MyPlugin : IPlugin
    {
        // IPlugin.Fun
        public string Fun()
        {
            string s = "11";
            if (s == "22")
                return Fun2_Shadow();

            if (s == "11")
                return Fun_Shadow();
            
            return "";
        }

        private string Fun_Shadow()
        {
            return “result”;
        }
        private string Fun2_Shadow()
        {
            return "";
        }
    }
-------------------------
http://netobf.com/
http://forum.inquartos.ru/
Обфускация, защита .NET приложений.
А также полезные примеры на C#
Re[3]: Отчёт
От: x64 Россия  
Дата: 08.10.08 10:57
Оценка:
N>Ошибку нашли и исправили. Спасибо за предоставленный пример.

Да, вижу, молодцы.

N>Мерцание проявлялось только в редких случаях (на некоторых РС),

N>такое поведение исправили.

Не совсем. Дикое мерцание по-прежнему проявляется во время компиляции проекта. Всё вот это большое текстовое поле с выводом мерцает ужасно. Надо поправить. Весь остальной UI в порядке. Кроме того, примите пару feature request'ов:

1. Настройка, регулирующая будет ли открываться папка с созданными бинарниками после компиляции или нет. Ну достало уже, вылазит папка и всё тут. Раздражает только.

2. Автоматический поиск файлов ildasm.exe и пр. Я, например, не знал где они у меня лежат. Обнаружил, их к своему удивлению, в папке "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin". Хотя вообще-то там Windows SDK находиться, поэтому что там делают бинарники от .Net Framеwork — непонятно, но тем не менее они у меня лежат именно там. А вот в папках "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin" и "C:\Program Files\Microsoft Visual Studio 9.0\SDK\v3.5\Bin" файла ildasm.exe просто нету (вторая папка вообще пустая).
Re[4]: Отчёт
От: nildar http://netobf.com
Дата: 08.10.08 11:32
Оценка:
Здравствуйте, x64, Вы писали:

N>>Ошибку нашли и исправили. Спасибо за предоставленный пример.

x64>Да, вижу, молодцы.
N>>Мерцание проявлялось только в редких случаях (на некоторых РС),
N>>такое поведение исправили.

x64>Не совсем. Дикое мерцание по-прежнему проявляется во время компиляции проекта. Всё вот это большое текстовое поле с выводом мерцает ужасно. Надо поправить. Весь остальной UI в порядке. Кроме того, примите пару feature request'ов:


С мерцанием разберемся, видимо на опреденной конфигурации РС проявляется

x64>1. Настройка, регулирующая будет ли открываться папка с созданными бинарниками после компиляции или нет. Ну достало уже, вылазит папка и всё тут. Раздражает только.

Это сделаем, предложение хорошее.


x64>2. Автоматический поиск файлов ildasm.exe и пр. Я, например, не знал где они у меня лежат. Обнаружил, их к своему удивлению, в папке "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin". Хотя вообще-то там Windows SDK находиться, поэтому что там делают бинарники от .Net Framеwork — непонятно, но тем не менее они у меня лежат именно там. А вот в папках "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin" и "C:\Program Files\Microsoft Visual Studio 9.0\SDK\v3.5\Bin" файла ildasm.exe просто нету (вторая папка вообще пустая).


в ближайшей версии мы возможно уже не будем использовать ildasm.exe
-------------------------
http://netobf.com/
http://forum.inquartos.ru/
Обфускация, защита .NET приложений.
А также полезные примеры на C#
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.