/相 发表于 2024-2-14 14:08:54

关于动态库的授权调用

假如我是库的作者,要发布给其他人调用使用,
但我想 只让经过授权的用户调用,而非授权的用户无法调用,

有没有什么 比较容易实现,但不容易被逆向破解 的方法?

ehonacatekaq 发表于 2024-2-14 14:09:05

搜到了一个相关的链接,可以辅助讨论。
http://social.msdn.microsoft.com ... 2-9838-86088c6122b5

_only 发表于 2024-2-14 14:09:44

有此需求,关注中。

ouukucakac 发表于 2024-2-14 14:10:17

3# gxqcn
额,
我还指望老大透露细节呢。

asomiajht 发表于 2024-2-14 14:10:52

郭老大不是有个序列号认证啊,在每个函数前再验证以下不就行了吗?

ifequwu 发表于 2024-2-14 14:11:18

动态库最理想的授权模式是:仅对开发者限制,而对使用者不做限定。
也就是说,授权客户开发好后可以再自由分发给他的客户。
这个似乎比较难实现,2# 给的链接提出了一个比较好的思路。

还有一种授权模式则是:对每个最终使用者单独授权。
可通过读取客户的硬件序号进行加密验证,确保一机一号,
缺点是不利于二次开发的推广。

jnetoji 发表于 2024-2-14 14:12:18

6# gxqcn
这个的确不仅仅是技术上的问题。
多谢老大点拨。

agihaku 发表于 2024-2-14 14:12:44

是不是可以对每个应用程序进行授权验证。比如对应用程序产生一个md5信息摘要,然后动态库初始化时对摘要信息进行加密验证。当然这个问题在于
1:如果应用程序版本更新,必须重新验证
2:对应用程序产生的信息摘要,代价比较大,基本职能在动态库初始化时进行验证,不能在调用过程中反复验证,很容易被破解。

另外,也可以提取程序资源文件中开发者名称信息,对这个信息进行版权信息匹配。但是这样,第三方在调试开发时只要使用验证对象的信息就可以使用了

Rickykek 发表于 2024-2-14 14:13:20

又要对客户授权认证,又要能让客户免费分发,还要防止授权被恶意传递或扩散,
这本身就非常矛盾,所以实现起来也比较困难。

duhiladikiti 发表于 2024-2-14 14:13:51

以库的形式发布软件,目的是为了封装代码,以及提高代码的可复用的程度。
在这一层次上做权限限定,的确是勉为其难,有悖此道。
======
我见的比较多的是 缺失某某动态库,但从未见过 软件运行的时候,调用某动态库的同时 提示用户 需要购买版权。
页: [1]
查看完整版本: 关于动态库的授权调用