• XSS.stack #1 – первый литературный журнал от юзеров форума

Подскажите хороший обфускатор

DedicNinja

HDD-drive
Пользователь
Регистрация
22.08.2024
Сообщения
35
Реакции
4
Гайс, нужен хороший обфускатор под c#, NF. платный\бесплатный не важно. что посоветуете?

не хочу чтоб крякнули.

только просьба советуйте дельный который реально защищает код. непроверенный из гугла только на крайний случай рассматриваю.
 
По отдельности всегда хня. Лучше связку юзать обфускаторов. Crypto Obfuscator неплохой+ RedGate SmartAssambly хорошо сочитаются и работоспособность не ломают если с настройками поиграть. И детект будет минимальный(раньше так было). При определенных настройках еще VMP можно туда нагрузить. А вообще последние версии VMP тяжело снять 3.8.4 крякнутая(офицалки 3.9++), не знаю чтобы кто-то снимал его, там плюс постоянные обновы. По вмп был чувак, который декомпиль под 3.4-3.7 делал.

Но при желании деобфускатор не тяжело написать, особенно если нет виртуализации(на какой-нибудь говно обфускатор).

Еще помню был AppFuscator он не плохой был, но вроде были умельцы которые его снимали. Щас мб спустя года 3 обновили.

Всё выкатывается в тестирование и декомпиляцию, анализу. Самому всё.
 
Но, что я бы сделал. Я бы вначале своими руками закидал бы код мусором (Control Flow), беспорядочные форы, вайлы(не циклящие), типо code bloat. Прям много мусора.

А еще лучше добавить к этому делу ООП ввиде: абстрактных, виртуальных мусор-функций, инцилизаций классов и тд. (Но для каких-то серьёзных коммандных проектов не подойдет понятное дело).

А еще была технология интересная , которая делала фейковый вызов функции, таким образом, что вызывая одну функцию по два раза, у тебя вызывалась нужная тебе функция. Дословно не помню, может кто мысль поймёт подскажет. Но там с использованием winAPI. Но при дебаге это не поможет.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Гайс, нужен хороший обфускатор под c#, NF. платный\бесплатный не важно. что посоветуете?

не хочу чтоб крякнули.

только просьба советуйте дельный который реально защищает код. непроверенный из гугла только на крайний случай рассматриваю.
Скрытый контент для пользователей: DedicNinja.
 
Но, что я бы сделал. Я бы вначале своими руками закидал бы код мусором (Control Flow), беспорядочные форы, вайлы(не циклящие), типо code bloat. Прям много мусора.

А еще лучше добавить к этому делу ООП ввиде: абстрактных, виртуальных мусор-функций, инцилизаций классов и тд. (Но для каких-то серьёзных коммандных проектов не подойдет понятное дело).

А еще была технология интересная , которая делала фейковый вызов функции, таким образом, что вызывая одну функцию по два раза, у тебя вызывалась нужная тебе функция. Дословно не помню, может кто мысль поймёт подскажет. Но там с использованием winAPI. Но при дебаге это не поможет.
Типо так?

C#:
namespace codewars
{
   
    internal class Program
    {
        private static int s = 1;
       
        static void Main(string[] args)
        {

            orderfunc.happyorder(s);
           


        }



    }
    public static class orderfunc
    {
        public static void happyorder(int s)
        {
            int answer = Convert.ToInt32(Console.ReadLine());

            if (answer == 1) { Console.WriteLine("Вызвать первую функцию"); test.suka("1 func", s); }
            else if (answer == 2) { Console.WriteLine("Вызвать вторую функцию"); test.suka("2 func", s); }

        }
    }
    public static class test
    {
        public static void suka(string func, int s)
        {
            if (func == "1 func")
            {
               Console.WriteLine("FAKE FUNCTION");
                if (s == 2) { spyfunc.spy(); }
                else if(s == 1) { orderfunc.happyorder(2); }
            }
            else if (func == "2 func")
            {
               Console.WriteLine("FAKE FUNCTION");
                if (s == 2) { spyfunc.spy(); }
                else if (s == 1) { orderfunc.happyorder(2); }


            }




        }


    }
    public static class spyfunc
    {
        public static void spy()
        {
            Console.WriteLine("Перваяспай");
        }
        public static void spy2()
        {
            Console.WriteLine("Втораяспай");
        }
    }
}
 
Последнее редактирование:
лучший под дотнет это dnguard, у него своя hvm поверх накрытая vmp, как минимум анпакера в общем доступе не лежит как на 99% всех популярных обфускаторов под дотнет

но не надо надеяться только на обфускатор, это лишь слой защиты, если главная цель избежать кряка - добавь этих слоев защиты очень большое количество, что бы у тебя были разные проверки лицензии, чередующие друг друга, с кардинально разным шифрованием, проверка сертификата сервера на ответе, собственные проверки на перехват сети, перехват инжекта в процесс, проверка подписи у дллок, и тд
слышал что люди делают в таких случаях под ключ и ставят на дешевые сервера, это правда?
 
Типо так?

C#:
namespace codewars
{
 
    internal class Program
    {
        private static int s = 1;
     
        static void Main(string[] args)
        {

            orderfunc.happyorder(s);
         


        }



    }
    public static class orderfunc
    {
        public static void happyorder(int s)
        {
            int answer = Convert.ToInt32(Console.ReadLine());

            if (answer == 1) { Console.WriteLine("Вызвать первую функцию"); test.suka("1 func", s); }
            else if (answer == 2) { Console.WriteLine("Вызвать вторую функцию"); test.suka("2 func", s); }

        }
    }
    public static class test
    {
        public static void suka(string func, int s)
        {
            if (func == "1 func")
            {
               Console.WriteLine("FAKE FUNCTION");
                if (s == 2) { spyfunc.spy(); }
                else if(s == 1) { orderfunc.happyorder(2); }
            }
            else if (func == "2 func")
            {
               Console.WriteLine("FAKE FUNCTION");
                if (s == 2) { spyfunc.spy(); }
                else if (s == 1) { orderfunc.happyorder(2); }


            }




        }


    }
    public static class spyfunc
    {
        public static void spy()
        {
            Console.WriteLine("Перваяспай");
        }
        public static void spy2()
        {
            Console.WriteLine("Втораяспай");
        }
    }
}
Больше мусора. Больше комбинаций. Еще перегрузку операторов попробуй мусорную, хотя можно и применить её в действии. Типо так. Обфускаторами потом накрываешь и уже даже если снимут- поработать еще придется. ++ наследование(абстрактные/виртуальные объязательно)
 
Больше мусора. Больше комбинаций. Еще перегрузку операторов попробуй мусорную, хотя можно и применить её в действии. Типо так. Обфускаторами потом накрываешь и уже даже если снимут- поработать еще придется. ++ наследование(абстрактные/виртуальные объязательно)
Интересная задумка, но это же надо делать так, что бы самому еще понимать, что мусор а что нет, это наверное делается после принятия решения об окончательном выпуске приложухи
 
Интересная задумка, но это же надо делать так, что бы самому еще понимать, что мусор а что нет, это наверное делается после принятия решения об окончательном выпуске приложухи
Ну в этом и смысл. Да, условно чтобы не скопипастили, было тяжелее анализировать. Но при дебаге и при сильном желании вполне можно отдебажить да, потом пропатчить ассебмлерный код(это я про натив софт). Но от статического анализа это самый лучший вариант под C#/C++
 

I don't think anything is reverse-engineering proof, given the right motivation/skill level, but this one will put most in their place)

Oh and did I mention, you can use it to crypt payloads too (inb4 shitty paid service in Marketplace pops up)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх