Как создавать dll в Визуал Студии, для платных плагинов Зеннопостера

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Хочу использовать Визуал Студию, для написания dll которая должна работать в шифрованном плагине.
Но когда я компилирую решение, то появляется dll в папке, которую очень легко просмотреть утилитой ILSpy. Весь код видно.

Вариант с подключением всех нужных dll в Зеннопостере и размещение решения в общем коде, реализован уже сейчас и работает нормально.
Но тут вылезла пара проблем
1. На тестовой 7.7.2.0, сторонние dll отказались работать. А в решение на Визуал Студии в той же 7.7.2.0 нормально отрабатывают.
2. Напрягает неопределённость в совместимости версий Зеннопостера. на одной работает, на другой что то добавят у себя внутри и пошел конфликт версий dll
2. Ну и в Визуалке явно удобнее отлаживать проект.

Собственно вопрос, как запрятать код созданный в Визуал Студии, в плагин и зашифровать его вместе с плагином ?
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 267
Благодарностей
687
Баллы
113
Хочу использовать Визуал Студию, для написания dll которая должна работать в шифрованном плагине.
Но когда я компилирую решение, то появляется dll в папке, которую очень легко просмотреть утилитой ILSpy. Весь код видно.

Вариант с подключением всех нужных dll в Зеннопостере и размещение решения в общем коде, реализован уже сейчас и работает нормально.
Но тут вылезла пара проблем
1. На тестовой 7.7.2.0, сторонние dll отказались работать. А в решение на Визуал Студии в той же 7.7.2.0 нормально отрабатывают.
2. Напрягает неопределённость в совместимости версий Зеннопостера. на одной работает, на другой что то добавят у себя внутри и пошел конфликт версий dll
2. Ну и в Визуалке явно удобнее отлаживать проект.

Собственно вопрос, как запрятать код созданный в Визуал Студии, в плагин и зашифровать его вместе с плагином ?
От рефлексии не спрячешься ) Имеет смысл может с обфускацией повозиться, но опять же, рефлексия. Думаю надо успокоиться и не думать об этом, все комьюнити двигается в сторону опен сорса
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 346
Благодарностей
910
Баллы
113
В C# можно без проблем вскрыть и просмотреть любую библиотеку, например через dotPeek. Существуют обфускаторы, которые несколько усложняют реверс инжиниринг, но я встречал только платные версии оных.
 
  • Спасибо
Реакции: Phoenix78 и djaga

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
В C# можно без проблем вскрыть и просмотреть любую библиотеку, например через dotPeek. Существуют обфускаторы, которые несколько усложняют реверс инжиниринг, но я встречал только платные версии оных.
ну вот я через ILSpy и глянул , все видно :bk:
а вот плагин шифрованный, я так понял пакуют в архив шифрованный и там не видно.

А как тогда вообще продавать проекты под Зенку, не только плагины ? Получается в Визуалке можно делать только открытые проекты :bh:
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 267
Благодарностей
687
Баллы
113
ну вот я через ILSpy и глянул , все видно :bk:
а вот плагин шифрованный, я так понял пакуют в архив шифрованный и там не видно.

А как тогда вообще продавать проекты под Зенку, не только плагины ? Получается в Визуалке можно делать только открытые проекты :bh:
Речь не про визуал студию, а про рефлексию, поясню, в c# есть пространство имен System.Reflection в котором содержится набор классов и методов сделанный разрабами, и с помощью этих классов и методов которые уже встроены в язык можно узнать все про код, именно таким образом дотпики и спаи узнают что у вас в коде. Это функционал c#. Зенка сама написана на c# и с помощью рефлексии можно и ее код посмотреть.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Думаю надо успокоиться и не думать об этом, все комьюнити двигается в сторону опен сорса
То есть можно забыть про продажу шаблонов/плагинов, потому что кто то решил перейти на опен сорс ?
Не, я уважаю их выбор, есть конечно куски кода которыми можно поделиться, но почему я то должен терять свой заработок ?

Я тему поднял не про то как полностью закрыть код, а как воспользоваться инструментом зеннопостера для продажи плагинов/проектов, но работать в удобненькой визуалке ;-)
так то понятно, что полностью не получится защитить код, но можно сделать достаточно простыми средствами нецелесообразность взлома кода. вот такой способ и надо найти :dn:
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
В C# можно без проблем вскрыть и просмотреть любую библиотеку, например через dotPeek. Существуют обфускаторы, которые несколько усложняют реверс инжиниринг, но я встречал только платные версии оных.
да, я нашел один бесплатный. простенький, структуру класса все равно видно.
он меняет названия переменных и методов. ну чисто добавляет времени 0.100500 секунд на переименование, которое делается на автомате :bk:
 

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 228
Благодарностей
784
Баллы
113
1. На тестовой 7.7.2.0, сторонние dll отказались работать. А в решение на Визуал Студии в той же 7.7.2.0 нормально отрабатывают.
2. Напрягает неопределённость в совместимости версий Зеннопостера. на одной работает, на другой что то добавят у себя внутри и пошел конфликт версий dll
Скорее всего у тебя присутствуют пакеты, которые также юзает зенка. От сюда и конфликт версий. Выложил бы название пакетов
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Скорее всего у тебя присутствуют пакеты, которые также юзает зенка. От сюда и конфликт версий. Выложил бы название пакетов
OpenCvSharp.dll , но он не на нее ругается, а на какой то NativMetod , который каким то неявным образом вызывается.
При компиляции в Визуалке появляются такие файлы
95411

Я их закинул в ExternalAssemblies, подрубил все нужные dll из пакета OpenCvSharp и все гуд. на всех версиях работает, а на 7.7.2.0 нет. Именно в одном месте, где объект Mat создается.
Я уже создал новый проект Визуал студии, под 7.7.2.0 и все откомпилировал заного под зависимости зенки, при запуске в Визуалке работает, как только переношу в Зенку, сразу ошибка.
Этот же пакет dll пихаю в 7.7.1.0 и все работает. Запуск через кубик выполнить проект визуалки через dll тоже работает. но если попытаться самому в кубике C# вызвать точку входа в этой dll то получаю туже самую ошибку. а на 7.7.1.0 нормально :bk:

Получается для меня пока что 7.7.2.0 недоступна :bh:именно это и напрягает, что выйдет версия новая и все нафиг сломается. У меня так уже не первый раз.
В прошлый раз, майлкит пихнули в зенку, пришлось выносить все в отдельное приложение что связано с почтой, теперь вот опять. Надо найти какой то стабильный вариант разработки и с какой то адекватной степенью защиты, для продажи клиентам плагинов и шаблонов. ;-)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)