Как я могу защитить свою сборку, потому что после развертывания установки будет также развернута сборка , и есть вероятность, что пользователь получит сборку из файлов программы и может добавить ссылку на любой другой проект или создать новый проект на основе в теме ! любое решение или помощь будут оценены с благодарностью.Как защитить свою сборку от использования другими?
ответ
Вы можете сделать все элементы внутри сборки внутренними и разрешить другим использовать его только с помощью InternalsVisibleToAttribute. Но если кто-то достаточно настойчив, нет способа остановить их от его использования.
Вы можете указать obfuscate код вашей сборки, который сделает задачу более сложной, но вы не можете сделать это, чтобы 100% предотвратить сбор и использование пользователем. То, что вы можете сделать, это НЕ развертывать сборку на компьютере пользователя, а предоставлять функции через веб-службу.
Вы не можете полностью предотвратить это. Но вы можете запутать свою сборку таким образом, чтобы раскрытые классы и методы не имели никаких разумных имен.
Один из таких обфускаторов является с открытым исходным кодом и называется obfuscar. Продолженный проект можно найти здесь under this link.
Нет простого способа. Вы можете только усложнить ситуацию. Если ваши алгоритмы настолько уникальны и ценны [1], что вам необходимо сделать их невозможными для третьих сторон (или заглянуть внутрь), ваш единственный выбор - иметь логику в удаленном месте (за сервером) и иметь свою программу назови это.
[1] Что-то, что в моем скромном опыте никогда не бывает.
Вы можете использовать ILmerge для объединения сборки в исполняемый файл, а затем использовать обфускацию для защиты всего пакета (исполняемые файлы .NET можно рассматривать как сборки, на которые вы можете ссылаться).
Хотя он, очевидно, небезопасен - вам все равно нужно хранить ключ дешифрования где-то - он отлично работает, чтобы зашифровать ваши DLL на диске, а затем загрузить их и дешифровать в памяти.
Если вы подключаете AppDomain.CurrentDomain.AssemblyResolve с помощью специального обработчика, вы можете сделать это прозрачно - когда ваша сборка пытается загрузить определенную DLL, она терпит неудачу, ваш обработчик срабатывает и загружает сборку из зашифрованной библиотеки DLL.
У меня еще не было проблем с этим подходом.
Кроме того, если вас беспокоят только пользователи, использующие ваши готовые библиотеки DLL в своих проектах, вы можете добавить несколько проверок стека к вашему коду, а также решить, какая сборка выполняется и выполнить проверку хэша. Однако обе эти контрмеры могут быть легко отредактированы из вашей DLL.
- 1. защитить мой API от использования другими пользователями
- 2. Защитить сборку?
- 3. Защитить API от совместного использования
- 4. Как защитить программу от использования на сервере?
- 5. Как защитить мою сборку .net winforms от клиентов клиента
- 6. Как защитить мое приложение от совместного использования?
- 7. Android. Как защитить свою базу данных?
- 8. Как мне назвать свою сборку?
- 9. Как защитить мой файл excel от чтения другими?
- 10. Как защитить от мошенничества?
- 11. Как защитить свою систему управления контентом?
- 12. Как я могу защитить свою форму Php?
- 13. Как защитить ресурсы от извлечения?
- 14. Как защитить от CSRF
- 15. Как защитить медиа в своем андроиде от совместного использования?
- 16. Как защитить динамическую библиотеку C++ от использования без разрешения?
- 17. как защитить сайт от спама без использования captcha
- 18. Как защитить контроллер от WebAPI для использования только локальным компьютером
- 19. Как защитить банку от использования кем-то другим?
- 20. Как защитить свои приложения от регистрации безопасности без использования captchas?
- 21. Защитить данные от firefox
- 22. Как защитить код C# от модификации
- 23. Почему я могу отлаживать свою сборку?
- 24. Как защитить Flash-игры от Cheat Engine?
- 25. (C#/C++ CLI) Возможно ли защитить мои сборки C++ CLI от использования в других .NET-проектах?
- 26. Как защитить данные от datagrid?
- 27. Как защитить сайт от атак
- 28. Как защитить API от злоупотреблений?
- 29. Как защитить сайт от хакеров?
- 30. Как защитить от исключения IllegalAccessException?