Page 4 of 5

Re: C# .NET and Enigma Protector

Posted: Mon May 06, 2019 3:35 pm
by Enigma
dlr5668 wrote: Mon May 06, 2019 3:27 pm Открыл The Enigma Protector\Examples\ProtectedStrings\C# (.NET)\Enigma_IDE.cs и там такой функции нет.
Прикрепил файл к посту, попробуйте.
Enigma_IDE64.zip
dlr5668 wrote: Mon May 06, 2019 3:27 pm Кстати разраб ответил, можем быть спокойны
Поверим на слово :)

Re: C# .NET and Enigma Protector

Posted: Mon May 06, 2019 5:37 pm
by dlr5668
Хоть убейте, не нашел там этой функции. Заглянул в сишную версию примера и сделал так

Code: Select all

        [DllImport("enigma_ide64.dll")]
        public static extern void EP_Marker(string Name);

        private static void Main(string[] args)
        {
            EP_Marker("vm_begin");
            Console.WriteLine("Hello World!");
            EP_Marker("vm_end");
И еще пару маркеров довавил. Защищенное приложение не работает без enigma_ide64.dll (с длл работает)

Code: Select all

Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'enigma_ide64.dll': The specified module could not be found.
Это значит чтото пошло не так и маркеры не нашлись ? В логе про маркеры ничего не нашел

Re: C# .NET and Enigma Protector

Posted: Mon May 06, 2019 8:00 pm
by Enigma
dlr5668 wrote: Mon May 06, 2019 5:37 pm Хоть убейте, не нашел там этой функции. Заглянул в сишную версию примера и сделал так
Эх, прошу прощения, ну да, откуда там будет эта функция, она же только для нейтив!
Но Вы сделали все правильно, что ее добавили. Без enigma_ide64.dll работать не будет только незащищенная программа, после защиты эта длл будет не нужна.
dlr5668 wrote: Mon May 06, 2019 5:37 pm Это значит чтото пошло не так и маркеры не нашлись ? В логе про маркеры ничего не нашел
Нет, все правильно, можете прислать скомпилированный файл?

Re: C# .NET and Enigma Protector

Posted: Mon May 06, 2019 8:41 pm
by dlr5668

Re: C# .NET and Enigma Protector

Posted: Tue May 07, 2019 6:41 am
by Enigma
dlr5668 wrote: Mon May 06, 2019 8:41 pm вот https://my.pcloud.com/publink/show?code ... 61gRvCE6Q7
Надо именно незащищенный файл, можете его прислать?

Re: C# .NET and Enigma Protector

Posted: Tue May 07, 2019 6:52 am
by dlr5668
Конечно https://my.pcloud.com/publink/show?code ... PG1uiyEyQ7
2 пары маркеров

Re: C# .NET and Enigma Protector

Posted: Tue May 07, 2019 7:14 am
by Enigma
dlr5668 wrote: Tue May 07, 2019 6:52 am Конечно https://my.pcloud.com/publink/show?code ... PG1uiyEyQ7
2 пары маркеров
Спасибо! Жаль, но маркеры использовать в такой сборке нельзя, протектор их не распознает.

Все равно схема очень интересная и годится для защиты .net приложений.

Re: C# .NET and Enigma Protector

Posted: Fri May 10, 2019 4:00 am
by sanyock
Enigma wrote: Tue May 07, 2019 7:14 am
dlr5668 wrote: Tue May 07, 2019 6:52 am Конечно https://my.pcloud.com/publink/show?code ... PG1uiyEyQ7
2 пары маркеров
Спасибо! Жаль, но маркеры использовать в такой сборке нельзя, протектор их не распознает.

Все равно схема очень интересная и годится для защиты .net приложений.
Файлы уже удалены. Как вы создавали маркеры в managed (C# ?) коде?

Можно ли в DotNet Core скомпилировать в native ранее mixed assembly? Mixed assemblies не помогут для создания меток? Может быть, метки в нативных участках mixed сборки не будут повреждены после преобразования в DotNet Core Native?

Enigma может виртуализировать native сборку целиком без предварительной пометки в ней фрагментов кода для виртуализации? Вместо пометки фрагментов в относительно больших сборках можно было бы обойтись вынесением защищаемого кода в отдельные сборки, преобразуемые в Native для последующей полной их виртуализации?

Умеет ли Native компилятор создавать нативную сборку из managed assembly, а не из исходников?
Было интересно попробовать создать рабочую нативную сборку из managed, ранее защищенной виртуализацией Eazfuscator или Babelfor.

Re: C# .NET and Enigma Protector

Posted: Fri May 10, 2019 1:45 pm
by dlr5668
sanyock wrote: Fri May 10, 2019 4:00 am 1 Файлы уже удалены. Как вы создавали маркеры в managed (C# ?) коде?

2 Можно ли в DotNet Core скомпилировать в native ранее mixed assembly? Mixed assemblies не помогут для создания меток? Может быть, метки в нативных участках mixed сборки не будут повреждены после преобразования в DotNet Core Native?

3 Enigma может виртуализировать native сборку целиком без предварительной пометки в ней фрагментов кода для виртуализации? Вместо пометки фрагментов в относительно больших сборках можно было бы обойтись вынесением защищаемого кода в отдельные сборки, преобразуемые в Native для последующей полной их виртуализации?

4 Умеет ли Native компилятор создавать нативную сборку из managed assembly, а не из исходников?
Было интересно попробовать создать рабочую нативную сборку из managed, ранее защищенной виртуализацией Eazfuscator или Babelfor.
1 Создать легко, но протектор их не увидит

2 Никогда не использовал mixed assembly но CoreRT такую сборку не соберет

3 И у энигмы и у "народной версии протектора от конкурентов" файл успешно защищается и работает без ошибок. Сложно сказать насколько такая защита надежна. Я еще дополнительно включаю пару файлов (аналог Enigma Virtual Box) и собираю это все в один ехе. VT также выходит чистенький https://www.virustotal.com/gui/file-ana ... /detection

Можно защитить один ехе два раза, запустить его, сдампить и посмотреть % различия через sigbench https://www.unknowncheats.me/forum/anti ... scans.html
PS sigbench не работает с большими файлами вроде моих на 30+ мб. Нужно попробовать с тестовым приложением

4 Только исходники и куча ограничений (только console приложения, никакой сложной маршализации вроде сохранения битмапа в стрим и многое другое). Eazfuscator ничего не защищает, снимается легко de4dot

у UWP native compiler тоже есть недостатки:
  • только win 10 и еще последних версий (иначе еще больше ограничений)
  • сложно развертывать
  • ограничения на API
  • проблема с защитой файла (частенько он перестает развертываться с непонятной ошибкой)

Re: C# .NET and Enigma Protector

Posted: Fri May 10, 2019 4:26 pm
by sanyock
dlr5668 wrote: Fri May 10, 2019 1:45 pm Создать легко, но протектор их не увидит
Может быть, Владимир со временем придумает, как делать рабочие метки для native компилятора CoreRT?