c# - 存在哪些安全机制来防止其他人访问 DLL 的某些方法?

标签 c#

当向客户交付 DLL(C# 项目)文件时,库中的某些部分不是应该允许客户使用的接口(interface)的一部分。存在哪些安全机制来限制对公共(public)接口(interface)的访问?

当然,可以将其他方法设置为privateprotectedinternal,但最终还是借助了一些工具,我们总是可以访问这些方法。那么是否有真正的安全技术来防止这种情况发生?

最佳答案

因为它被标记为“C#”,我不得不说“不,没有真正的安全机制来阻止用户访问这些函数。” .NET 二进制文件始终可以反编译,即使在混淆时也是如此。

这同样适用于所有 .NET 客户端应用程序(winforms、windows 服务、控制台等),如 similar question I asked a while back 中所述。 .

引用所选答案:

In other words, you must consider the desktop application completely compromised, and if this is a risk, you must extract everything that must be secure (authentication, authorization, validation) to an external (web) service.

关于c# - 存在哪些安全机制来防止其他人访问 DLL 的某些方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770707/

相关文章:

c# - DllImport 返回空终止字符串 AccessViolationException

c# - 什么是 C# Regex 相当于 Java 的 appendReplacement 和 appendTail

c# - RoleManager 类(WriteToLog 方法)已移动或替换?

c# - C# 中的多键字典(另一种)?

c# - 网络连接仅在设备通过电缆连接时有效

c# - 如何使用 DLL(用 C 编写)在 C# 中创建结构数组?

c# - 使用 C# 查看 MemberInfo 是否与 BindingFlags 匹配

c# - sql中如何比较三列

带有 ProgressBar 的 C# ListView

c# - Symantec ScanEngine API 关于 StreamScanRequest 的说明