作者jakeasa123 (酒虎)
看板Python
標題Re: [問題] 軟體限制使用者/安裝/複製
時間Mon Sep 2 13:58:34 2019
※ 引述《bobshih (夏天)》之銘言:
: 你好 各位先輩
: 我是新手 想請教
: 如果開發一個軟體 打包成exe檔出售
: 但遇到 軟體給使用者A後 怕使用者A 私下複製提供他人使用
: 或是使用者A 有兩台電腦 要同時安裝其軟體
: 該如何限制使用者 購買的軟體 只能安裝於一台電腦 不能複製/轉移其他電腦/其他人使用
: 我之前有跟巴基斯坦人 購買過小軟體
: 軟體打開後 要輸入帳號密碼連線後 (應該是連到伺服器或是對方電腦吧)
: 才能使用軟體 並且該軟體可以限制 安裝幾台電腦 超過安裝次數/或是使用期限
: 則無法安裝開啟軟體
: 請問這是什麼技術? 又是該往哪方面找資料??
各位好,
小弟遇到了同此原文的問題,
還望各位指點一些關鍵字或是解決方法。
小弟所遭遇的問題和原文相近,
上頭的指示是希望製作成安裝檔而不是執行檔,
也就是程式幫使用者安裝後,
他即使複製給別人也不能運作(或是會跳出警告)。
根據原文的留言:
「→ uranusjr: Device UUID UDID, 不過防止複製什麼的其實都可以破解辣」
我找到了以下的程式碼:
import subprocess
x = subprocess.check_output('wmic csproduct get UUID')
藉此可以得到電腦的 UUID,
原先是想要將 UUID 登錄至伺服器上,
這樣只要每次開啟程式自動與伺服器聯繫就能判斷要不要跳警告了;
不過後來考量到以小弟的所在環境來說,
上頭給不給開伺服器是還好解決,
但使用者那邊沒開網路或網路被限制在內網的問題比較難解決……
關於上述這些內容,
想到的解決辦法是取得要開放的 UUID,
直接寫在 .py 內的 list 內並用 pyinstaller 生成 .exe 執行檔,
執行時發現在 list 內找不到 UUID 就跳錯誤。
想請教還有其他推薦的關鍵字或解決辦法嗎?
另外,
把 Python 寫出來的程式包裝成安裝檔這部分該用什麼關鍵字?
我自己試了幾組關鍵字,
結果大多是如何安裝 Python、如何安裝某某函式庫或是 Pyinstaller 如何使用等等,
可能是因為我關鍵字一直包含 Python 和 install 兩個詞,
只是想要調整關鍵字也找不太到該加什麼或改成什麼……
小弟經歷淺薄,
還請各位賜教。
在此先謝謝各位前輩花時間閱讀與回應了,
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.39.217 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1567403918.A.728.html
推 rexyeah: 用OTP呢? 不用網路但會綁設備 09/02 17:25
→ rexyeah: 只有玩過example 無法給更深入的討論 抱歉 :) 09/02 17:26
→ jakeasa123: 好的,我研究看看,謝謝資訊! 09/02 20:14
推 CodingMan: 在業界看到有人先用程式蒐集該電腦環境的資料 09/03 12:59
→ CodingMan: 產生一個授權檔案 有那個檔案才可以跑 09/03 12:59
→ CodingMan: 我把認證過的vm環境 完整複製到別台電腦上執行會失敗 09/03 13:00
→ CodingMan: 詳細我也不知道怎麼辦到的 不過可以朝這方向研究看看 09/03 13:00
→ pmove: 回cod大,複製到別台電腦會失敗,是因為硬體不一樣吧?如果 09/03 13:13
→ pmove: 是vm複製到vm, 也會失敗嗎? 09/03 13:13
→ CodingMan: 是的 vm 複製 vm 配置一模一樣 @@ 09/03 15:34
→ jakeasa123: 感謝前輩的分享,我嘗試找看看資料 09/04 13:16
→ marc47: 建議改成連回主機用發出來的授權key安裝,否則在怎麼防都 09/05 07:46
→ marc47: 會被破解 09/05 07:46
m 大提的方法,
目前小弟主要卡在使用者那端絕大多數不開網路或限制在內部網路,
所以設計上要弄成只有安裝時判斷授權(暫時性地用手機分享網路可以對外連線),
一方面是小弟還是沒找到該怎麼製作成安裝檔而不是執行檔,
另一方面是這個判斷授權的結果勢必要儲存在某處,
以便後續沒有網路時開啟程式有地方可以辨別;
用加密文件妥當嗎?
還是有其他的方式比較推薦呢?
→ s860134: wmic CPU get ProcessorID 09/06 01:35
推 DeepLearning: 可以簽章啊! 09/06 19:40
謝謝指點,
對簽章有些不熟,
先做些功課。
※ 編輯: jakeasa123 (175.181.39.217 臺灣), 09/10/2019 15:08:34