使用许可证文件保护DLL的使用/加载的最佳方法是什么?
您可能需要考虑以下几点:
检查DLL的总和.使用加密哈希函数,您可以将其存储在许可证文件内或DLL内.这提供了一种验证方法,用于确定我的原始DLL文件是否未被破解,或者它是否是此DLL的许可证文件.一些简单的字节交换技术可以快速将哈希函数从常规轨道上移除(因此不容易重现).
不要将哈希存储为字符串,将其拆分为不同位置的unsigned short.
正如拉里所说,MAC地址相当普遍.有许多关于如何在代码项目中实现这一点的例子,但要注意这些天很容易伪造.
我的建议是,应该使用私钥/公钥来生成许可证.
简而言之,攻击模式将是二进制的(修改DLL文件的指令),以防止这种情况或密钥生成,从而使每个许可用户,机器,甚至特定的安装.