Re: [問題] 軟體限制使用者/安裝/複製

作者: jakeasa123 (啊斑斑)   2019-09-02 13:58:34
※ 引述《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 兩個詞,
只是想要調整關鍵字也找不太到該加什麼或改成什麼……
小弟經歷淺薄,
還請各位賜教。
在此先謝謝各位前輩花時間閱讀與回應了,
謝謝!
作者: rexyeah (ccccccc)   2019-09-02 17:25:00
用OTP呢? 不用網路但會綁設備https://github.com/pyauth/pyotp只有玩過example 無法給更深入的討論 抱歉 :)
作者: jakeasa123 (啊斑斑)   2019-09-02 20:14:00
好的,我研究看看,謝謝資訊!
作者: CodingMan (程式俠)   2019-09-03 12:59:00
在業界看到有人先用程式蒐集該電腦環境的資料產生一個授權檔案 有那個檔案才可以跑我把認證過的vm環境 完整複製到別台電腦上執行會失敗詳細我也不知道怎麼辦到的 不過可以朝這方向研究看看
作者: pmove (金疾檸檬)   2019-09-03 13:13:00
回cod大,複製到別台電腦會失敗,是因為硬體不一樣吧?如果是vm複製到vm, 也會失敗嗎?
作者: CodingMan (程式俠)   2019-09-03 15:34:00
是的 vm 複製 vm 配置一模一樣 @@
作者: jakeasa123 (啊斑斑)   2019-09-04 13:16:00
感謝前輩的分享,我嘗試找看看資料
作者: marc47 (思樂冰)   2019-09-05 07:46:00
建議改成連回主機用發出來的授權key安裝,否則在怎麼防都會被破解
作者: s860134 (s860134)   2019-09-06 01:35:00
wmic CPU get ProcessorID
作者: DeepLearning (深度學習)   2019-09-06 19:40:00
可以簽章啊!

Links booklink

Contact Us: admin [ a t ] ucptt.com