我需要在一些无法访问其代码库的Linux应用程序上使用某种许可。
我的想法是让一个单独的进程读取许可证密钥并检查该应用程序的可用性。然后,我需要确保在每次调用受尊敬的应用程序时都运行该进程。Linux有什么特性可以帮助实现这一点吗?例如sudoers文件,我在其中检测哪个用户和哪个应用程序正在尝试启动,如果满足组合,请先运行许可证进程检查。
或者,我是否可以不允许用户自己启动(命令行)应用程序,并强制他们将其管道化到我的许可证流程中:
/usr/bin/tm | license_process/,而'/usr/bin/tm'将自行失败

最佳答案

我需要在一些Linux应用程序上使用某种许可
请注意,在支持和管理方面,许可证检查的成本通常比它们的价值要高很多:任何人如果想绕过检查,只要有一点点技能,都会这样做,如果他无论如何都不能支付许可证费用(也就是说,不实施许可证计划,你通常不会留下任何钱在桌子上)。
我无法访问他们的代码库。
这使得您的任务几乎不可能完成:唯一有效的复制保护方案要求您重新构建整个应用程序,并使其在许多不同的位置检查许可证,从而使潜在的攻击者感到厌烦并离开。你可以阅读这些计划。
我想应该有一个单独的过程读取许可证密钥并检查该应用程序的可用性。
任何这样的方案都将在5分钟内被精通stracegdb的人绕过。别浪费时间了。

关于linux - 控制Linux应用程序的启动/许可,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8949672/

10-15 17:05