作者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://webptt.com/cn.aspx?n=bbs/Python/M.1567403918.A.728.html
1F:推 rexyeah: 用OTP呢? 不用网路但会绑设备 09/02 17:25
3F:→ rexyeah: 只有玩过example 无法给更深入的讨论 抱歉 :) 09/02 17:26
4F:→ jakeasa123: 好的,我研究看看,谢谢资讯! 09/02 20:14
5F:推 CodingMan: 在业界看到有人先用程式蒐集该电脑环境的资料 09/03 12:59
6F:→ CodingMan: 产生一个授权档案 有那个档案才可以跑 09/03 12:59
7F:→ CodingMan: 我把认证过的vm环境 完整复制到别台电脑上执行会失败 09/03 13:00
8F:→ CodingMan: 详细我也不知道怎麽办到的 不过可以朝这方向研究看看 09/03 13:00
9F:→ pmove: 回cod大,复制到别台电脑会失败,是因为硬体不一样吧?如果 09/03 13:13
10F:→ pmove: 是vm复制到vm, 也会失败吗? 09/03 13:13
11F:→ CodingMan: 是的 vm 复制 vm 配置一模一样 @@ 09/03 15:34
12F:→ jakeasa123: 感谢前辈的分享,我尝试找看看资料 09/04 13:16
13F:→ marc47: 建议改成连回主机用发出来的授权key安装,否则在怎麽防都 09/05 07:46
14F:→ marc47: 会被破解 09/05 07:46
m 大提的方法,
目前小弟主要卡在使用者那端绝大多数不开网路或限制在内部网路,
所以设计上要弄成只有安装时判断授权(暂时性地用手机分享网路可以对外连线),
一方面是小弟还是没找到该怎麽制作成安装档而不是执行档,
另一方面是这个判断授权的结果势必要储存在某处,
以便後续没有网路时开启程式有地方可以辨别;
用加密文件妥当吗?
还是有其他的方式比较推荐呢?
15F:→ s860134: wmic CPU get ProcessorID 09/06 01:35
16F:推 DeepLearning: 可以签章啊! 09/06 19:40
谢谢指点,
对签章有些不熟,
先做些功课。
※ 编辑: jakeasa123 (175.181.39.217 台湾), 09/10/2019 15:08:34