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 策略脅迫
思路:制定一些策略,迫使用戶必須聯網才能使用客戶端,然后通過一些“認證”,“激活”等手段來脅迫用戶。
每次打開客戶端必須聯網登錄,拿到某個激活碼或者認證才能繼續使用客戶端。當用戶不聯網拿不到關鍵信息時給予提示。如果每次都要登錄拿到這些東西很麻煩的話,可以默認在打開客戶端時默默做掉這件事情只要用戶聯網其實是無感知的。
缺點:獲取關鍵認證信息的手段過于麻煩的話,會影響用戶體驗。或者某些產品是在野外或需要脫機使用或者網絡狀態較差的情況下。會讓客戶崩潰。
好了,大概五種思路分享給大家。