gpt4 book ai didi

c# - 防止其他人使用我的 dll

转载 作者:太空狗 更新时间:2023-10-29 23:53:54 26 4
gpt4 key购买 nike

我是 .net 的新手,想知道如何防止其他人使用/引用我编译的库。我做了一些研究,但没有找到明确的答案。它是真实代码还是强名称或其他?它的可靠性如何?

库是商业桌面软件的一部分

最佳答案

How I can prevent others from using my compiled libraries?

我想知道如何防止别人使用我的牙刷。我找到了解决办法。我不会让他们接触我的牙刷。

如果您不希望人们使用您的软件,那么不要向他们提供您的软件

如果您希望某人能够在不知道实现细节的情况下使用您代码的功能,那么请编写一个网络服务,将软件放在网络服务器后面,人们可以通过以下方式使用您的软件您提供的服务。他们只能看到 Web 服务器,看不到您的实现细节。

Is it authenticode or strong names or something else?

没有。您的场景是您希望保护您自己(软件提供商)免受您的用户的侵害。那完全是倒退。 .NET 安全系统旨在保护您的用户免受不良软件提供商的侵害。

authenticode 和 strong names 都是系统,软件用户可以借此获得证据,证明该软件确实是由他们认为由其提供的人提供的,而不是由假装是您的邪恶黑客提供的。

例如,假设我变坏并向您发送一个新版本的 System.DLL,我说它是 Microsoft 的软件升级,但实际上看着您输入密码并将它们通过电子邮件发送给我。我可以向您发送一个名为“System.DLL”的 DLL,但我不能向您发送一个具有 Microsoft strong name 的 DLL,因为我无法制作 Microsoft strong名称。只有微软能做到这一点,因为微软签名 key 深埋在 11 号楼内,并被鲨鱼用激光束或其他东西看守着。强大的名字保护免受的伤害;他们不保护 Microsoft

同样,强大的名称可以保护您的客户免受冒充您的攻击者。它们不会保护免受您的客户的侵害。您不是受到攻击的人;他们是!

the libraries are part of a commercial desktop software

商业桌面软件模型假定客户受到软件提供商的信任,可以根据他们的许可使用软件。如果您不信任您的客户,那么您需要一个完全不同的模型,例如将软件保留在您的 Web 服务器上并且只允许通过 Web 界面进行访问。

关于c# - 防止其他人使用我的 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28522141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com