我正在使用C#编写库,我的库使用第三方.NET库。当我推出我的图书馆时,我必须包括第三方图书馆以及图书馆。但是,我想阻止我的库(客户端代码)的用户直接使用第三方库。有什么方法可以在编译时或运行时强制执行?拒绝客户端代码访问.NET中的第三方库
回答
如果这样做没有法律问题,您可以使用ILMerge将第三方库合并到您自己的库中。
您可以选择从第三方库内部公开课程。这样,代码的客户端将无法访问第三方库中的功能(除非他们做了某种破解)。例如,我不确定是否有人可以使用某种类型的Reflection代码来使用内部类。
如果您通过ILMerge将公共第三方课程内部化,则您具有更高的安全性。安全是相对的事情。你也可以[混淆](https://en.wikipedia.org/wiki/Obfuscation_(软件))你的图书馆(与合并的第三方图书馆)。这将使它更加安全。其他用户甚至不知道第三方库正在使用中。 –
我同意你的意见。如果有人决心破解它,他会的。然而,正如我所说的,安全是一个相对的事情。也许对于提出这个问题的用户(user2242746),使其难以使用第三方就足够了(满足他的要求)。 –
@ user2242746,你会接受什么样的安全级别? –
- 1. 如何在GWT中引用客户端使用的第三方库源代码?
- 2. MONO FTP客户端错误 - 530用户拒绝访问
- 3. 拒绝访问.Net GetProcesses
- 4. 的HTTP代码拒绝跨域访问
- 5. 拒绝访问.Net中的文件
- 6. Play 2:play.libs.WS VS异步处理的第三方客户端库
- 7. 拒绝访问用户'root'
- 8. 访问被拒绝用户
- 9. Xamarin iOS(Web客户端IPv6拒绝)
- 10. 尝试访问Cygwin中的第二次串行端口时拒绝访问
- 11. 替代.NET的客户端
- 12. 如何拒绝对git分支的读访问(使用第三方工具)
- 13. 拒绝访问用户代理在AWS S3访问桶
- 14. WebPack:访问客户端代码中的节点环境变量
- 15. 错误代码:1044.访问拒绝用户'root'@'%'到数据库'xxxxxxxABC'
- 16. “访问路径...被拒绝”(.NET C#)
- 17. 文件访问被拒绝在.NET
- 18. 在RHEL上拒绝访问project.lock.json - .NET Core
- 19. 错误[13]:访问被拒绝 - 在Apache Thrift生成的PHP客户端
- 20. 访问拒绝用户'用户'@'ip-address'
- 21. 从客户端程序访问服务器端代码
- 22. MySQL的 - 访问被拒绝的用户
- 23. 在代码中访问第三方ruby库模块?这是在窗户上的正确方法?
- 24. 在com端口c上拒绝访问#
- 25. _mysql_exceptions.OperationalError:1045“访问被拒绝的用户
- 26. 的MySQL:拒绝访问用户
- 27. mysql_connect():拒绝用户'root'的访问
- 28. 访问被拒绝的用户“根” Laravel
- 29. 访问客户端WebSQL数据库
- 30. 如何通过第三方客户端保留后端安全
不,如果我可以访问它,我可以用它。 – Eser