c++ - 使用许可文件保护 DLL 文件

标签 c++ dll licensing

使用许可文件保护 DLL 的使用/加载的最佳方法是什么?

最佳答案

您可能需要考虑以下几点:

校验和 DLL。使用 cryptographic hash function ,您可以将其存储在许可证文件或 DLL 中。这提供了一种验证方法来确定我的原始 DLL 文件是否未被破解,或者它是否是该 DLL 的许可文件。一些简单的字节交换技术可以快速让您的哈希函数脱离常规(因此不容易重现)。

不要将哈希存储为字符串,将其拆分为不同位置的无符号短裤。

正如拉里所说,MAC 地址相当普遍。在 The Code Project 上有很多例子说明如何获得它。 ,但请注意,现在很容易伪造。

我的建议,应该使用 private/public用于生成许可证的 key 。

简而言之,攻击模式将是二进制的(修改您的 DLL 文件的指令),因此要防止这种情况,或 key 生成,以便使每个许可证用户、机器甚至安装特定。

关于c++ - 使用许可文件保护 DLL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/106347/

相关文章:

visual-c++ - 我如何分发 msvr71.dll (microsoft visual c++ runtime dll)

database - 相当于postgresql的非开源数据库

c++ - 字符串到 vector 的转换抛出 std::bad_alloc

c++ - 简化单个 vector 的 std::transform

c++ - 返回值优化是否需要声明拷贝构造函数

c++ - CreateRemoteThread - ERROR_ACCES_DENIED

c# - 获取调用窗口的窗口句柄

c# - 是否可以在非托管 VC++ 应用程序中使用使用 C# 创建的 DLL?

c++ - 优化构造函数调用次数

c++ - Qt 中途从 LGPL 走向商业化