iT邦幫忙

0

C# winform打包後使用期限

  • 分享至 

  • xImage

在Winform的程式打包成應用程式後

若沒有綁定DB該如何設定應用程式的使用期限

想請問板上大大有沒有比較好且簡單的做法

若是想加入像月卡輸入序號展延使用期限

又該怎麼做呢

感謝大大~

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
小魚
iT邦大師 1 級 ‧ 2020-02-04 01:28:33

寫死在程式裡,
但是如果被反組譯就沒辦法了,
C#很容易被反組譯的.

可是如果要延長期限,
那一定是要儲存在某個地方,
或許可以考慮加密處理.

1

一般的做法有以下幾個方式

1.資源記錄法:
這招單純但容易被破解,不是常用的招式。

2.註冊表記錄法:
這招算是比較常見的。有時候會搭配第一招一起進行。

3.額外檔記錄法:
比較常看到的也是這一招,有時你運行一些免安裝的軟體。第一次執行就會自動生出ini等等東西的。就是利用這招。

簡單來說,無論如何,你都需要找出可以往外記錄的方式。才可能可以做出有使用期限。
當然了,這要怎麼去做處理加密,不讓人破解。就是看你的功力了。

0
japhenchen
iT邦超人 1 級 ‧ 2020-02-05 07:33:16

月租制....線上啟動,用戶資料都存在線上而不在線下,關鍵邏輯功能改採用WEBAPI方式處理,就算被破解也不見得能拿走什麼技術或使用能力

deh iT邦研究生 1 級 ‧ 2020-02-10 16:25:39 檢舉

這方法聽起來很棒呀!

0
sam0407
iT邦大師 1 級 ‧ 2020-02-05 08:59:24

最簡單就是在app.config裡面加個"到期日"的Key囉~

當然"到期日"這個Key的Value一定要加密,加密方式及破解難度就看您面對的使用者的程度而定。

您先不要想太複雜,要轉念思考,會有人破解表示您的程式好用有價值,用的人多了您就出新版,加些新功能再換個加密方式,微軟不就是這樣起家的嗎?

0
fillano
iT邦超人 1 級 ‧ 2020-02-05 14:42:05

個人意見,你還需要一個伺服器來處理:

  1. 基本架構:期限資料用私鑰加密,發給用戶公鑰及程式,程式用公鑰解密期限資料來判斷是否到期
  2. 共享:未註冊用戶,安裝時從伺服器API下載公鑰及私鑰加密過的期限資訊,可以共用公鑰,然後期限資訊由伺服器API依照安裝下載的日期決定後即時加密後讓安裝程式下載
  3. 註冊:註冊後,發給序號。註冊系統會依照序號產生一對公/私鑰存放。安裝時,透過序號跟伺服器下載期限資訊,加密過程如上2。安裝過後,伺服器要紀錄序號的狀態改變,例如讓序號失效等。
  4. 延長:就重新發給序號

設想還沒周到,你可以自己看看怎麼強化這個方法。

我要發表回答

立即登入回答