客戶端應用試用限制設計

1.概要

最近接到公司安排的任務給客戶端設計一個“試用30天”的一個需求,其功能主要是為了防止客戶拿到產品之后不支付尾款繼續使用。眾所周知靠純軟件想防“盜版”,“限制試用”等做法是行業難題。只要價值足夠高一定有人會破解繞過你的所有防線達到免費試用的目的。那為什么還要寫這篇文章呢,主要是為了給遇到同樣問題的小伙伴提供一些"紙糊"的限制用戶試用的思路,作為一個連接點的文章。

這里分享五種思路:

  • 時間限制

  • 次數限制

  • 加密軟件

  • 加密狗

  • 策略脅迫

2.詳細內容

2.1 時間限制

思路:該思路主要通過使用時間來限制,例如2022年1月1日 到 2022年1月31日之間可以使用。這個思路最大的漏洞就是本地時間,因為用戶只要保證一直不連接網絡然后修改本地時間即可,所以還是要稍微動下腦筋防止一下。

缺點:如果用戶跟著去查注冊表修改一樣能繞過。

b01ceac339ddefc857fafd3dd2661684.png

2.2 試用次數限制

思路:主要通過使用次數來限制,默認給軟件打開次數一個默認值例如100次。100次以后禁用所有功能。使用次數通過對稱加密算法(MD5,RAS等等)加密之后存到本地sqlite或者某個文件中。

缺點:用戶只需要copy存儲介質備份一份即可,然后到期之后替換一下又可以使用了。不過可以把一些復雜的配置或讓用戶有一些配置成本的信息也存在這個文件里,也能增加一些繞過的成本。

3ce9dd29a7053e14fde738562ca539d7.png

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

50db2f91d8fa57952a25f2f78bbc3084.png

2.4 加密狗

思路:這個方法相對于上面的安全級別相對要高一些畢竟是通過錢來構建壁壘,不過還是有被破解的風險。

缺點:還是會被一些手段比較高的玩家破解。當然也可以將加密軟件和加密狗組合使用增加安全性。

8d9a687f9034e0825ef5e22a143d4938.png

2.5 策略脅迫

思路:制定一些策略,迫使用戶必須聯網才能使用客戶端,然后通過一些“認證”,“激活”等手段來脅迫用戶。

  • 每次打開客戶端必須聯網登錄,拿到某個激活碼或者認證才能繼續使用客戶端。當用戶不聯網拿不到關鍵信息時給予提示。如果每次都要登錄拿到這些東西很麻煩的話,可以默認在打開客戶端時默默做掉這件事情只要用戶聯網其實是無感知的。

缺點:獲取關鍵認證信息的手段過于麻煩的話,會影響用戶體驗。或者某些產品是在野外或需要脫機使用或者網絡狀態較差的情況下。會讓客戶崩潰。

好了,大概五種思路分享給大家。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/283830.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/283830.shtml
英文地址,請注明出處:http://en.pswp.cn/news/283830.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【開發工具之Spring Tool Suite】6、用Spring Tool Suite簡化你的開發

如果你是一個喜歡用spring的人,你可能會在欣賞spring的強大功能外,對其各樣的配置比較郁悶,尤其是相差較大的版本在配置文件方面會存在差異,當然你可以去花不少的時間去網上查找相關的資料,當你準備使用更高版本spring…

康威定律,作為架構師還不會靈活運用?

Soft skills are always hard than hard skills. 軟技能比硬技能難。 老板聽說最近流行“微服務”,問架構師咱們的系統要不要來一套?老板又聽說最近流行“中臺系統”,問架構師咱們要不要搞起來?其實,這些問題不用老板問…

使用onclick跳轉到其他頁面。使用button跳轉到指定url

1. οnclick"javascript:window.location.hrefaa.htm" 2. οnclick"locationURL"3,。 οnclick"window.location.href?id11"轉載于:https://www.cnblogs.com/wujixing/p/5856087.html

Avalonia Beta 1對WPF做了很多改進

\看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!\\\Avalonia將自己定義為“基于WPF(使用XAML、數據綁定以及lookless控件等)的跨平臺.NET UI框架。”在第…

WebView2 通過 PuppeteerSharp 實現RPA獲取壁紙 (案例版)

此案例是《.Net WebView2 項目,實現 嵌入 WEB 頁面 Chromium內核》文的續集。主要是針對WebView2的一些微軟自己封裝的不熟悉的API,有一些人已經對 PuppeteerSharp很熟悉了,那么,直接用 PuppeteerSharp的話,那就降低了…

[轉]2022 年 Java 行業分析報告

你好,我是看山。 前段時間介紹了從 Java8 到 Java17 每個版本比較有特點的新特性(收錄在 從小工到專家的 Java 進階之旅 專欄),今天看到 JRebel 發布了《2022 年 Java 發展趨勢和分析》,于是借此分析一下 Java 行業的現…

Mysql 數據庫學習筆記03 存儲過程

一、存儲過程:如下 通過 out 、inout 將結果輸出,可以輸出多個值。 * 調用存儲過程: call 存儲名稱(參數1,參數2,...); 如指定參數不符合要求,返回 Empty Set * 查詢存儲過…

android 代碼混淆模板

#指定代碼的壓縮級別 -optimizationpasses 5 #包明不混合大小寫 -dontusemixedcaseclassnames #不去忽略非公共的庫類 -dontskipnonpubliclibraryclasses#優化 不優化輸入的類文件 -dontoptimize#預校驗 -dontpreverify#混淆時是否記錄日志 -verbose# 混淆時所采用的算法 -opt…

vue+vuecli+webapck2實現多頁面應用

準備工作 在本地用vue-cli新建一個項目,首先安裝vue-cil,命令: npm install -g vue-cli 新建一個vue項目,創建一個基于"webpack"的項目,項目名為vuedemo: vue init webpack vuedemo 這里有一個地方需要改一下&#xff0…

一文把Docker、Kubernetes搞懂:什么是Docker?什么是Kubernetes?Docker和Kubernetes有什么關系和區別?通俗解釋Docker、Kubernetes

一、Docker解決的問題 1、統一標準 ● 應用構建 ○ Java、C、JavaScript——編程各異 ○ 打成軟件包 ○ .exe(類似Windows,最終也只是生產exe執行) ○ 使用docker build … 打包成 鏡像——這就類似于exe ● 應用分享 ○ 所有軟件的鏡像放到一…

Python-高階函數

#encodingUTF-8import sys # 高階函數高階函數實際上是參數可接受函數的函數即參數為函數的函數 # map()map()接收兩個參數,一個是函數,一個是序列,將此函數分別作用于該序列的每個元素,返回處理后的序列結果def c2(x): return x…

程序員雙手飛快敲鍵盤的時候是在敲代碼嗎?

當你看到一個程序員的兩只手在鍵盤上上下翻飛,行云流水的時候,多半不是在敲擊代碼大概率是在跟產品經理撕逼討論需求另一種可能就是在跟測試打口水仗10%幾率是在論壇碼字摸魚或者和人家開噴了。1%幾率是在跟MM聊天可以手速飛快而不需要停下思考的代碼&am…

erlang-17版本的編碼方式

最近在騰訊云租了個云主機:鏡像提供方:選擇服務市場 :多語言環境(Centos 7.0 64位 Python Perl Ruby Erlang ) 他們集成軟件安裝的是erlang-17版本,我之前用erlang-16版本一直沒遇到什么問題; 這…

幾分鐘上線一個網站 真是神器

1、ToolJet 簡介 ToolJet 是一個開源的低代碼框架,可以快速構建和部署內部工具,而無需工程團隊付出太多努力。您可以連接到您的數據源,例如數據庫(如 PostgreSQL、MongoDB、Elasticsearch 等)、API 端點(To…

翻譯:用戶變量(User-Defined Variable)(已提交到MariaDB官方手冊)

本文為mariadb官方手冊:User-Defined Variables的譯文。 原文:https://mariadb.com/kb/en/user-defined-variables/我提交到MariaDB官方手冊的譯文:https://mariadb.com/kb/zh-cn/user-defined-variables/ 用戶變量是指由用戶創建&#xff0…

移植Python3到TQ2440(一)

平臺 硬件:TQ2440 64MB內存 256MB NandFlashbootloader:U-Boot 2015.04kernel:linux-4.9Python: Python-3.6.0工具鏈:arm-none-linux-gnueabi-gcc 4.8.3概述 現在樹莓派很火,在樹莓派上面用戶可以通過Python來控制板…

WinForm(六)組合布局屬性

WinForm是基于控件的,不像codemark的架構,可以非常靈活的用mark來布局,它只能用控件布局屬性和窗口控件來完成對UI的布局。容器控件有一組控件叫容器控件,對布局特別有作用,它們分別是:TableLayoutPanel&am…

Qt 網絡編程

QT 網絡編程 TCP 編程 模塊引入 QT network 頭文件 #include <QTcpServer> // TCP服務器端使用 #include <QTcpSocket> // TCP服務器和客戶端都使用 編程流程 服務端 1&#xff09;實例化 QTcpServer 對象 -----------------------------> socket 2&#x…

HDU 5037 Frog(2014年北京網絡賽 F 貪心)

開始就覺得有思路&#xff0c;結果越敲越麻煩。。。   題意很簡單&#xff0c;就是說一個青蛙從0點跳到m點&#xff0c;最多可以跳l的長度&#xff0c;原有石頭n個&#xff08;都僅表示一個點&#xff09;。但是可能跳不過去&#xff0c;所以你是上帝&#xff0c;可以隨便在哪…

Kafka高性能高吞吐的原因總結

1、磁盤順序讀寫 保證了消息的堆積 順序讀寫 磁盤會預讀,預讀即在讀取的起始地址連續讀取多個頁面&#xff0c;主要時間花費在了傳輸時間,而這個時間兩種讀寫可以認為是一樣的。 隨機讀寫 因為數據沒有在一起&#xff0c;將預讀浪費掉了&#xff0c;需要多次尋道和旋…