作为一名学生,我写了一个软件。所有功能都在软件中,这是一个30天的全功能版本。几年过去了,我的收入是以前的10%。这就是我决定将范型切换到功能有限的全版本和演示版本的地方(这个函数甚至不在使用编译器开关的EXE中)。对我来说,这件事结束了所有的盗版行为,而且运作得很好。
现在,你可以问,如果一个客户上传他的完整版本到一个破解网站呢?在这种情况下,我将客户的完整地址明显地和无形地编译到EXE文件中,这样我就可以看到哪个客户是坏男孩……
几年后,我遇到了一个新的问题:杀毒软件。由于我的软件可以设置键盘快捷键,一些反病毒应用程序的启发式算法开始抱怨。所以我把EXE演示版发送给了反病毒公司,并将其标记为“安全”。这个效果很好。但只适用于以bytesize修复的演示版本。当我将客户的个人数据编译到EXE文件中时,文件大小略有变化,因此校验和不同,并且EXE文件不再被反病毒软件标记为“安全”,客户再次开始抱怨。
有人知道我怎么解决这个问题吗?当然,我不能添加一个单独的文件,因为这可以被客户删除。
提前谢谢。
发布于 2021-01-06 11:00:29
首先,我想说,上述问题与打击盗版的措施并无多大关系。当您频繁地部署软件的不同版本和变体(有或没有任何单独的自定义)时,也会出现同样的问题。
即使“许可文件”方法允许将您的软件的完整版本发送给所有主要AV公司(不为它们提供许可证文件,或者只允许限制使用),
因此,您最好的选择是IMHO从受信任的证书颁发机构购买一个商业证书,并使用它对您的软件进行签名(如描述的这里)。这通常是负担得起的,降低了大多数AV扫描仪抱怨你的程序的机会。
然而,正如@Ewan和@GrandmasterB在评论中正确提到的那样,不幸的是,这不是一个100%的解决方案--一些AV扫描器可能仍然会在他们的启发式检测到一些“可疑”活动时将您的程序列入黑名单。这背后的原因应该很清楚:在过去的几年里,数字签名的恶意软件已经出现。使用被窃取的证书,所以数字签名并不能保证程序不是恶意软件,而且AV扫描仪不盲目地信任这些签名。
尽管如此,我还是建议使用签名。如果AV扫描仪仍然不喜欢你的程序,试着让它的供应商相信你的签名不是被偷的,而且带有你签名的程序表现良好。也许签署你的应用程序的演示版本并在AV公司注册就足够了?AV公司应该有强烈的兴趣,不要产生太多的假阳性,因为否则他们的客户可能会倾向于改变到不同的AV供应商。此外,不对每个软件和每个软件供应商强制执行一个耗时的注册和验证过程,这应该符合他们自己的利益,但这要留给CA。
另一件需要考虑的事情是检查是否有可能重新实现导致AV扫描仪弹出的特定活动。也许你创建键盘快捷键的方式太低级了,使用了一些不受欢迎的OS,而现在有一种新的、更“官方”的方法来创建这样的快捷键?因为这个问题有一个" Windows“标签: AFAIK Windows有很多这样的怪癖和遗留问题,其中一些过去行之有效的解决方案并不是今天应该如何实现的。但我相信,如果这是一个可行的方法来处理这个问题,你会知道得很清楚。
发布于 2021-01-04 16:41:45
需要一个互联网连接可以让你更容易,因为你可以有程序电话回家,并告诉你有关机器的运行和许可证文件的客户正在使用的东西。然后,您可以跟踪每个客户正在使用的副本数量,禁用许可证/登录等等。
当然,有人可以破解检查代码,但他们也可以破解客户的详细信息。
发布于 2021-01-04 16:43:09
如果每个客户的EXE是不同的,那么您将无法绕过它。反病毒软件将始终将每个EXE视为一个新的和未知的应用程序,即使它的签名.
一般来说,我建议人们不要花费太多的精力来阻止盗版,因为它不会非常有效。最好是让人们不方便地分享软件来劝阻‘临时复印机’。
尽管如此,您可以考虑使用包含相同信息的单独许可证文件。加载文件并在启动时进行验证。这样,您就不必为每个客户提供不同的可执行文件。
https://softwareengineering.stackexchange.com/questions/420643
复制相似问题