硬件锁定许可:我应该使用哪些硬件? [复制]

2023-11-22

我最近实现了一个具有模糊匹配功能的硬件锁定许可系统,可以处理硬件中的更改,而无需重新激活,但我需要更多硬件来匹配,以确保更安全/创建更可靠的模糊匹配。

现在我正在匹配以下内容:

  • 物理MAC地址
  • 硬盘序列号
  • RAM 部件号/制造商/尺寸
  • 处理器ID

还有哪些其他特定于机器的不变硬件序列号适合在这种情况下使用,并且可以从 C# 轻松检索。

检索此类硬件信息的代码示例也将受到赞赏。

澄清

当我说“不变”时,我指的是不直接修改机器中的硬件而不会改变的硬件序列或信息。 (IE不会自行改变,也不会通过软件改变)


我曾在一家从事此类硬件指纹识别的公司工作过,我可以告诉您,商业替代方案通常相当可靠,但在某些合法情况下它们都会失败。

请注意,该领域的一些专利得到了非常积极的执行。一些提出硬件锁定算法的大型成功公司(如微软)已被成功起诉。如果你在所做的事情上非常成功,那么不幸的事情可能会发生在你身上。

如果您认为需要硬件锁定,请选择一家能够让您轻松为那些对系统进行合法升级但最终违反模糊匹配规则的客户提供客户服务的公司。并且,准备好快速有效地提供该服务。

对于大多数用例,我会警告不要硬件锁定。它对您的软件施加了限制,这往往会妨碍您的合法客户使用该软件的合法愿望。

Update

除了您列出的指标之外,还可以使用以下一些指标。我还没有研究从 C# 中特别容易获得哪些代码,因为我在这个级别处理的大多数代码都是可移植的 C++,并根据需要提供了一些特定于平台的程序集。

  • BIOS 校验和
  • 处理器的数量和类型(处理器 ID 并非适用于所有处理器)
  • 显卡详细信息(经常升级的部分,但提供了一点额外的熵)
  • 连接的显示器数量、屏幕分辨率、品牌(经常变化,但又增加了一点熵)。
  • 安装的字体不寻常且差异很大(例如忽略从 Office 等获得的字体)
  • 的 Mac 地址all安装的 NIC(例如 WiFi、有线)
  • 系列all安装的硬盘
  • 枚举其他设备(例如 DVD、CD、内置读卡器)

请记住,笔记本电脑插入扩展坞后可能会获得许多额外的端口、新的显示器等......

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

硬件锁定许可:我应该使用哪些硬件? [复制] 的相关文章

  • Qt 和 Sqlite 示例

    我正在寻找一些使用 Qt 的示例代码 它是带有 Sqlite 驱动程序的 SQL 模块 我需要示例的主要原因是我之前有 Qt 数据库接口的经验 并且 Sqlite 在字段类型方面有一些奇怪的行为 类型是按字段存储的 而不是按列存储的 The
  • StackExchange Redis 删除所有以以下开头的键

    我有一个格式的密钥 Error 1 Error 24 Error 32 Using StackExchange Redis 我该怎么办KeyDelete在与格式匹配的所有键上Error 在另一个答案中我看到了 LUA 脚本 EVAL ret
  • 如何反序列化 XML 文档

    如何反序列化此 XML 文档
  • 以编程方式更新 Wifi 网络

    我正在尝试创建一个程序 当某个 wifi 网络在范围内时 该程序会连接到该网络 即使已经连接到另一个 wifi 也是如此 我在用着简单Wifi https github com DigiExam simplewifi 基本上效果很好 除了在
  • 如何将 dll 中包含的组件嵌入到 exe 中,以便它可以从内存运行?

    我正在尝试制作一个必须从内存运行的程序 通过Assembly Load bin 如上所述here http www codeproject com Articles 13897 Load an EXE File and Run It fro
  • 使用c#在mac上启动外部进程

    我成功地使用 System Diagnostics Process Start 在 Windows 上启动我的外部单声道可执行文件 然而在mac上却失败了 我没有收到任何错误 只是什么也没发生 我尝试按以下方式进行操作 System Dia
  • 如何在 Windows 上的 GCC 中链接 CS50 C 库

    我是 编程新手 一直在尝试使用以下命令编译我的代码MinGW https en wikipedia org wiki MinGW GCC 但我尝试包括CS50 https en wikipedia org wiki CS50 cs50 c
  • 我应该使用字节还是int?

    我记得曾在某处读到 即使您只需要字节 使用 Int32 更好 就性能而言 它 据说 仅适用于您不关心存储的情况 这是有效的吗 例如 我需要一个保存一周中某一天的变量 我是吗 int dayOfWeek or byte dayOfWeek E
  • .Net 支持柯里化泛型吗?

    假设我们有一个嵌套的泛型类 public class A
  • C 编程中的 rand() 问题? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么我总是用 rand 得到相同的随机数序列 https stackoverflow com questions 1108780 why do i always get the same seque
  • 大小为 k 的非连续子序列的最大值的最小值

    在开始之前 我希望这个问题不是重复的 我发现了几个类似的问题 但它们似乎都没有描述完全相同的问题 但如果它是重复的 我会很高兴看到一个解决方案 即使它与我的算法不同 我一直在尝试回答这个问题 https stackoverflow com
  • 现代编译器的 C++ 中“memset”功能的状态

    Context 不久前 我偶然发现了 Alexandrescu 在 2001 年发表的 DDJ 文章 http www ddj com cpp 184403799 http www ddj com cpp 184403799 它是关于比较将
  • 如何在C++中列出Python模块的所有函数名称?

    我有一个 C 程序 我想导入一个 Python 模块并列出该模块中的所有函数名称 我该怎么做 我使用以下代码从模块中获取字典 PyDictObject pDict PyDictObject PyModule GetDict pModule
  • 向客户端发送状态码 500 时页面未呈现

    我有一个页面 通用处理程序 我想在该页面上向客户端返回状态代码 500 以指示出现问题 我这样做 Response StatusCode 500 Response StatusDescription Internal Server Erro
  • 为什么 C# 中的命名空间允许循环依赖?

    在 c 中 您可以在文件 a cs 其命名空间为 MyApp A 中拥有一条语句 using MyApp B 而文件 b cs 其名称空间为 MyApp B 已经包含该语句 using MyApp A 如果类似的依赖关系存在于不同的 dll
  • 模板类中模板方法专门化的 clang 自动返回类型错误?

    试图理解另一个问题 https stackoverflow com questions 38054055 clang fails to compile template function with auto return type insi
  • 结构大小与 typedef 版本不同?

    我的代码中有以下结构声明和 typedef struct blockHeaderStruct bool allocated unsigned int length typedef struct blockHeaderStruct block
  • C# 中的 mshtml.HTMLDocumentClass

    在 C 中 我设法从 InternetExplorer 对象获取整个 HTMLDocumentClass 导航到某个 URL 然而 在 Visual Studio 2008 的调试模式下 该特定 URL 的 HTMLDocumentClas
  • 如何正确处置注入的DLL线程?

    我将一个 DLL 注入到目标进程中 以在玩 MMORPG 时充当助手 当前功能将按键转换为鼠标点击 因为 MMORPG 要求用户移动鼠标才能实现某些功能 这是我所鄙视的 假设我出于某种原因想要取消注入 DLL 我该怎么做呢 这个方法干净吗
  • 在派生类中访问基类变量

    class Program static void Main string args baseClass obj new baseClass obj intF 5 obj intS 4 child obj1 new child Consol

随机推荐

  • 为 QListWidget 中的特定项目设置不同的颜色

    我有一个QListWidget我想为列表中的每个项目添加边框底部 并为项目设置背景颜色 并且我想为特定项目设置不同的背景颜色 所以我用了my list setStyleSheet QListWidget item border bottom
  • 具有最小尺寸约束的聚类算法

    我有一组数据聚类成k组 每个簇的最小大小限制为m 我已经对数据进行了一些重新聚类 所以现在我得到了这组点 每个点都有一个或多个更好的簇 但不能单独切换 因为它会违反大小限制 Goal 最小化每个点到其聚类中心的距离总和 受 最小簇大小 m
  • 如何在 SQL Server 中使用预定义的特殊字符修剪字符串?

    我想使用一些特殊字符 例如 gt SQL Server ltrim 和 rtrim 函数仅删除空格字符 DECLARE Str NVARCHAR 100 N Computation Time Cost gt lt SELECT dbo Sp
  • spring mvc声明所有bean单例

    我有这个新的 mvc 项目 其中所有 bean 都是默认范围的 没有原型或会话 具有单一应用程序上下文 我想知道 通过将所有 bean 设置为默认作用域 我们是否试图实现整个应用程序在单线程中运行 如果是这样 是否会使每个http请求 来自
  • 直接从 Spark shell 读取 ORC 文件

    我在直接从 Spark shell 读取 ORC 文件时遇到问题 注意 运行Hadoop 1 2和Spark 1 2 使用pyspark shell 可以使用spark shell 运行scala 我用过这个资源http docs hort
  • Hibernate 验证器 java.lang.NoClassDefFoundError:无法初始化类 org.hibernate.validator.internal.engine.ConfigurationImpl

    我读过了this and this 但这并没有帮助 我正在使用具有以下版本 依赖项的休眠验证器
  • 为什么 `this` 在 ES6 箭头函数中不起作用? [复制]

    这个问题在这里已经有答案了 这是我的代码 use strict let obj username Hans Gruber hello gt hello this username console log obj hello 但输出是 hel
  • 如何禁用 JIT 编译器的内部函数使用?

    我正在做一些性能测试JVM 我想衡量内在函数使用的影响 我想禁用JIT对某些方法使用内在函数而不进入解释模式 有没有办法做到这一点 谢谢 Use java XX UnlockDiagnosticVMOptions XX DisableInt
  • 是否有 .NET Framework 方法可将文件 URI 转换为带驱动器号的路径?

    我正在 ASP NET 领域中寻找类似 Server MapPath 的东西 以将 Assembly GetExecutingAssembly CodeBase 的输出转换为带有驱动器号的文件路径 以下代码适用于我尝试过的测试用例 priv
  • JTable 单元监听器?

    我正在使用 JTable 每当单元格出现时我都需要收到通知 选择改变 我尝试使用 ListSelectionListener 但是 我仅在行选择更改时收到通知 如果我选择一个 同一行上的新列 我没有收到通知 我需要知道什么时候 单元格被选中
  • 无法通过 Cloud SQL 代理从 Cloud Shell By Proxy 进行连接

    我正在关注DjangoGAE 示例 但通过代理从 Google Cloud Shell 连接到 Cloud SQL 实例时遇到问题 可能与权限设置有关 因为我看到请求未授权 其他上下文 gcloud beta sql connect aut
  • spplot 图例在地图中的自定义放置

    是否可以放置 spplot spplot 多边形 图例within地图 在左下角 像这样 我能得到的最接近的是这个 我没有发布我的数据 我只是使用示例数据 所以在这种情况下 尝试将图例放在地图的左上角 data meuse grid gri
  • 通过 CSS 打印比例

    在 IE 8 和 Firefox 3 6 和 4 上 如果您转到 打印预览 则可以按百分比调整打印比例或使用 缩小以适合 CSS是否有像scale 50 这样的属性或者调整打印比例的东西 有缩放 http reference sitepoi
  • Roslyn /查找参考 - 无法正确加载工作区

    我正在尝试编写一些代码来查找任何给定方法的所有方法调用 因为我正在创建一个开源 UML 序列图工具 然而 我在跳过前几行代码时遇到了麻烦 API 似乎已经发生了巨大的变化 我似乎无法通过查看代码来推断正确的用法 当我做 var worksp
  • PageTransformer 转换中的 ViewPager 边距

    我有一个 ViewPager 其中每个视图都是一副牌上的卡片的表示 每张卡片的边框上都有一个使用 ViewPager 边距的阴影 cardsViewPager setPageMargin getResources getDisplayMet
  • 知道了矩形的两个点,如何算出另外两个点?

    大家好 我正在学习processing js 我遇到了一个数学问题 我似乎无法用我有限的几何和三角知识或维基百科的帮助来解决这个问题 我需要画一个矩形 为了绘制这个矩形 我需要知道每个角的坐标点 我所知道的只是盒子顶部和底部中点的 x 和
  • 如何仅根据第一个数字拆分字符串

    所以我有一个包含街道地址的数据集 它们的格式非常不同 例如 d lt c street1234 Street 423 Long Street 12 14 Road 18A Road 12 15 Road 1 2 由此我想创建两列 1 X 街
  • PHP 7.0 上的 Laravel 5.4:PDO 异常 - 找不到驱动程序 (MySQL)

    我在 Ubuntu 14 04 带有 Plesk 12 5 30 的 VPS 上有一个 Laravel 5 4 项目 创建数据库并设置后 env包含我运行的所需信息的文件php artisan migrate并抛出异常 照亮 数据库 Que
  • Java SockJS Spring 客户端和消息大小

    使用 SockJS java 客户端 我尝试连接到 Spring sockjs 服务器 并且收到约 20Kb 消息 无标头 的错误 1009 Javascript 库工作正常 Transport closed with CloseStatu
  • 硬件锁定许可:我应该使用哪些硬件? [复制]

    这个问题在这里已经有答案了 我最近实现了一个具有模糊匹配功能的硬件锁定许可系统 可以处理硬件中的更改 而无需重新激活 但我需要更多硬件来匹配 以确保更安全 创建更可靠的模糊匹配 现在我正在匹配以下内容 物理MAC地址 硬盘序列号 RAM 部