1.概要
最近接到公司安排的任务给客户端设计一个“试用30天”的一个需求,其功能主要是为了防止客户拿到产品之后不支付尾款继续使用。众所周知靠纯软件想防“盗版”,“限制试用”等做法是行业难题。只要价值足够高一定有人会破解绕过你的所有防线达到免费试用的目的。那为什么还要写这篇文章呢,主要是为了给遇到同样问题的小伙伴提供一些"纸糊"的限制用户试用的思路,作为一个连接点的文章。
这里分享五种思路:
时间限制
次数限制
加密软件
加密狗
策略胁迫
2.详细内容
2.1 时间限制
思路:该思路主要通过使用时间来限制,例如2022年1月1日 到 2022年1月31日之间可以使用。这个思路最大的漏洞就是本地时间,因为用户只要保证一直不连接网络然后修改本地时间即可,所以还是要稍微动下脑筋防止一下。
缺点:如果用户跟着去查注册表修改一样能绕过。
2.2 试用次数限制
思路:主要通过使用次数来限制,默认给软件打开次数一个默认值例如100次。100次以后禁用所有功能。使用次数通过对称加密算法(MD5,RAS等等)加密之后存到本地sqlite或者某个文件中。
缺点:用户只需要copy存储介质备份一份即可,然后到期之后替换一下又可以使用了。不过可以把一些复杂的配置或让用户有一些配置成本的信息也存在这个文件里,也能增加一些绕过的成本。
2.3 加密软件
思路:通过第三方加密软件进行限制,能防住一部分普通用户。但是还是那句话价值够高会让你见识到什么是人外有人。
缺点:网上会有一些破解手段,破解成本没有想象的那么高。
Eziriz .NET Reactor(收费)
官网简介:https://www.eziriz.com/help/introduction/about/
ConfuserEx(开源)
官网简介:https://mkaring.github.io/ConfuserEx/
Dotfuscator(免费)
官网简介:https://docs.microsoft.com/zh-cn/visualstudio/ide/dotfuscator/?view=vs-2022
2.4 加密狗
思路:这个方法相对于上面的安全级别相对要高一些毕竟是通过钱来构建壁垒,不过还是有被破解的风险。
缺点:还是会被一些手段比较高的玩家破解。当然也可以将加密软件和加密狗组合使用增加安全性。
2.5 策略胁迫
思路:制定一些策略,迫使用户必须联网才能使用客户端,然后通过一些“认证”,“激活”等手段来胁迫用户。
每次打开客户端必须联网登录,拿到某个激活码或者认证才能继续使用客户端。当用户不联网拿不到关键信息时给予提示。如果每次都要登录拿到这些东西很麻烦的话,可以默认在打开客户端时默默做掉这件事情只要用户联网其实是无感知的。
缺点:获取关键认证信息的手段过于麻烦的话,会影响用户体验。或者某些产品是在野外或需要脱机使用或者网络状态较差的情况下。会让客户崩溃。
好了,大概五种思路分享给大家。