防止别人使用我的dll

2024-05-11

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

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


如何防止其他人使用我编译的库?

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

如果您不希望人们使用您的软件那么不要给他们你的软件.

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

是authenticode还是强名称还是其他什么?

不。您的情况是您希望保护yourself,一家软件提供商,来自你的用户。这完全是倒退的。 .NET 安全系统旨在保护你的用户 from 不良软件提供商.

验证码和强名称都是软件用户可以获得证据的系统,证明该软件确实是由他们认为的人提供的,而不是由冒充您的邪恶黑客提供的。

例如,假设我变得邪恶并向您发送了一个新版本的 System.DLL,我说它是 Microsoft 的软件升级,但实际上是看着您输入密码并将其通过电子邮件发送给我。我可以向您发送一个名为“System.DLL”的 DLL,但我无法向您发送一个拥有微软的强名因为我不能make微软的强名。只有微软能做到这一点,因为微软的签名密钥深埋在11号楼的深处,并由鲨鱼用激光束或其他东西看守。强大的名字保护you from me;他们不保护微软.

同样,强名称可以保护你的客户 from 攻击者冒充您。他们不保护you from 你的客户。受到攻击的不是你,而是你。他们是!

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

商业桌面软件模型的前提是客户受到软件提供商的信任,可以按照其许可证使用该软件。如果您不信任您的客户,那么您需要一个完全不同的模型,例如将软件保留在您的网络服务器上,并且仅允许通过网络界面进行访问。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止别人使用我的dll 的相关文章

随机推荐

  • 如何使用 spring-data-neo4j 配置 neo4j EmbeddedGraphDatabase (现已弃用)?

    我正在使用 spring data neo4j 3 1 1 Release 和 neo4j 2 1 2 我设法制作了一个运行良好的 spring 配置 但它使用了 org neo4j kernel EmbeddedGraphDatabase
  • UICollectionView 装饰和补充视图无法移动

    In UICollectionView装饰和补充意见似乎是一个很大的谜团 目前似乎几乎没有示例代码 我设法让这两种类型在自定义布局中工作 请参阅此post https stackoverflow com questions 12810628
  • ProcessBuilder 未正确执行 Java 类文件

    在一个java文件中 我调用命令行语句来执行另一个java文件 这就是我正在做的 List
  • 在承诺中运行同步函数

    我是 JS 和异步操作的新手 在使用express的nodeJS路由器中 我使用mongoose从mongo聚合了一些数据 该数据是每隔 15 分钟从不同站点收集的天气数据 我使用猫鼬聚合管道处理数据 以获取每小时数据并按每个站点进行分组
  • 错误:AVD 2.3 无效:/home/user/.android/avd/2.3.ini 中未知目标“android-10”。尝试通过AVD管理器修复

    尝试将名为 AVD 的 2 3 添加到运行配置时出现上述错误 但它的创建工作却完美无缺 尝试了多个目标 如下所示 效劳于 L 预览 4 4 不适用于 2 3 3 4 1 2 4 3 使用 Android Studio 0 8 1 时会发生这
  • 使用 chrome 扩展和 Django 进行身份验证

    对于那些熟悉 django 和 chrome 扩展的人 如何使用 cookie 进行身份验证 以便当您登录 django 制作的网站时 您的 chrome 扩展程序也会登录并激活 谢谢 您的 Chrome 扩展程序 通过 Javascrip
  • 如何使用 node.js 请求模块使用我自己的证书进行 SSL 调用?

    我正在使用 node js 和此请求模块对另一台服务器进行 HTTP 调用 https github com mikeal request https github com mikeal request 效果很好 我现在需要修改此代码以使用
  • 在大型数据库上使用谓词?

    我有一个包含 50 000 000 个文档的数据库 我想将每个文档的 base uri 写入一个文件 运行整个 50 000 000 次运行时间太长 查询超时 所以 我想我应该使用谓词将数据库分成更易于管理的批次 因此 我尝试了以下方法来了
  • 访问 .js 文件中的 Nuxt 插件

    假设我有一个脚本文件 foo js function doStuff how to access store and other plugins here export default doStuff 如果不将调用组件作为参数传递 我如何访
  • 用惯用的 Scala 更新大型数据结构

    我已经尝试 Scala 一段时间了 并且经常遇到支持不可变数据结构的建议 但是当你有一个像这样的数据结构时3D 场景图 大型神经网络或任何具有大量需要频繁更新的对象的东西 对场景中的对象进行动画处理 训练神经网络 这似乎是 运行时效率极低
  • 为什么在按下 Tab 键之前​​不显示焦点矩形?

    我有一个奇怪的问题 可能只是为了理解 为什么在测试应用程序中 直到我按 Tab 键才显示焦点矩形 我想显示一个带有两个单选框和两个按钮的对话框 当我显示对话框时 我希望在第一个单选按钮周围看到一个焦点矩形 以便用户可以看到焦点在哪里 我对控
  • 使用 mkfifo 和传输流,这可能吗?

    我想执行一个 bash 脚本来执行以下操作 应用程序 ffmpeg 生成实时传输流 ts 文件 我需要处理这个实时流 执行解复用等 现在我知道这必须通过 FIFO 来完成 但这是我的任务 我需要重定向 ffmpeg 的输出以写入 fifo
  • 事件中心指标显示大量“其他错误”,如何获取详细信息?

    因此 我使用新门户创建了一个事件中心 当我访问 事件中心 边栏选项卡并浏览到 监控 部分中的 指标 边栏选项卡时 我得到以下图表 我想知道在哪里可以找到有关这些错误的更多信息 有人知道吗 事件中心还可以发出诊断日志 其中包含有关错误的详细诊
  • “过滤”JSON 以获得唯一键并获取所有相关值

    找到一个组中所有可能的相关值的最佳方法是什么 var table group a stuff new group a stuff old group b stuff newOld group b stuff old group c stuf
  • MongoDB 如何使用 $date 运算符进行查询?

    编辑 上下文 我正在使用 Talend ETL 工具 并在查询中使用 ISODate 或 Date 或 new Date 如下所示失败并出现错误 因此我需要解决方法 dt ISODate 2014 01 01 dt Date 2014 01
  • 正则表达式是否用于构建解析器?

    这只是出于好奇的一个问题 因为我最近需要越来越多地解析和使用正则表达式 似乎 对于我在搜索中遇到的有关某种解析的问题 有人总是最终说 当问一些与正则表达式相关的问题 正则表达式对此不好 请使用这样那样的解析器 因为我已经更好地理解了正则表达
  • 如何检查变量是否是生成器函数? (例如函数*产量)[重复]

    这个问题在这里已经有答案了 检查函数是否是生成器的可靠方法是什么 例如 let fn function yield 100 if fn instanceof for let value in fn 我能想到的唯一方法是fn toString
  • React:URL 配置文件 ID 不匹配 (match.params.id)

    所以每当我点击 查看个人资料 链接时 View Profile 它在 URL 中显示了良好配置文件的用户 ID 但每当我单击它以将其与此按钮匹配时 我都会收到错误 const Profile getProfileById match gt
  • GLSL 中的二阶函数?

    我正在寻找一种方法来使用一个函数作为 GLSL 中另一个函数的参数 在常规 C 中 可以通过传递函数指针作为函数参数来模拟它 似乎其他语言 如 HLSL 现在提供了处理高级构造 如高阶函数 的方法 或者可以使用以下命令来模拟它们巧妙利用 H
  • 防止别人使用我的dll

    我是 net 的新手 想知道如何防止其他人使用 引用我编译的库 我做了一些研究 但没有找到明确的答案 是authenticode还是强名称还是其他什么 它的可靠性如何 这些库是商业桌面软件的一部分 如何防止其他人使用我编译的库 我想知道如何