帮人家做一个桌面软件,在现在互联网码农看来比较土的种。 就是 win 平台的一个软件,C#.NET ,开发很快。 现在在甲方没有完全付款的情况下,你们有哪些方式限制试用版的使用呢? 完全离线的 exe,判断机器时间不科学,在本地加密记录使用次数?
1
66beta 2019-06-04 16:46:15 +08:00 via Android
默认只能试用 5 天?给完钱再发个完整版
|
3
s4nd 2019-06-04 16:54:04 +08:00
bug
|
4
sky2017 2019-06-04 16:54:27 +08:00
给个功能限制的试用版
|
5
chenchangjv 2019-06-04 16:56:52 +08:00 via iPhone
试用可以加强制联网啊,互联网时间不就好了,不联网不能用
|
7
destiny1990 2019-06-04 16:58:55 +08:00
加密狗?会不会成本有点高。。
|
8
di1012 2019-06-04 17:00:14 +08:00
单机版的?限制不了,除非只让使用一部分功能
|
9
ThomasZ 2019-06-04 17:01:33 +08:00 via Android
取网络时间,如果 pc 无网络应用无法运行
|
10
wafm 2019-06-04 17:02:58 +08:00
放暗桩或者加网络验证
|
11
whypool 2019-06-04 17:10:29 +08:00
偷偷联网,获取服务器时间,试用 5 天过期
给的版本出去,id 写死 |
12
designer 2019-06-04 17:12:02 +08:00
比较土的方法 ,远程你的桌面让客户体验下。功能完善可以了的话再交接软件?
|
13
xenme 2019-06-04 17:12:32 +08:00
尝试联网,不能联网的话某些功能不能用,每隔几分钟弹窗提示联网或者购买注册。
反正就是要干扰用户的正常使用体验 |
14
Hellert 2019-06-04 17:13:04 +08:00
可以在数据量上做一些限制,比如限制录入 1000 条,类似这样。
付款后再给发无限制的版本。 |
15
laodao 2019-06-04 17:15:34 +08:00
试用版必须联网使用,接受远程明亮。然后自带文件加密病毒,不给钱系统全盘文件加密。
|
16
MaxTan 2019-06-04 17:24:03 +08:00
阉割一部分内容或者硬编码限制,付费再重新 build 完整版
|
17
libasten OP @chenchangjv
@ThomasZ @whypool @laodao 很多朋友建议联网,可能这个路子不太能走得通,因为这是一个工厂车间里面的电脑用的,可能还有涉密问题,试用的时候要外接设备,基本上没有联网的可能性。 @xenme 提供的弹窗大法倒是不错,我考虑一下。 一并谢谢大家伙。 |
18
Orciorc 2019-06-04 17:34:44 +08:00 via Android 1
不要试图从技术上解决,应考虑从法律上解决。例如签订协议,提供试用版 /技术测试版 /验收版,一旦泄露乙方承担相关责任。具体请咨询律师并拟好合同。
|
19
czkwg8 2019-06-04 18:01:00 +08:00
safengine
|
20
sbbeta 2019-06-04 18:12:41 +08:00 via Android
记得以前一个人做的自来水软件,在里面加东西了。非法授权越用数据越不对。但是数据会备份起来。数据不对自然会来找你
|
21
Jirajine 2019-06-04 18:25:50 +08:00 via Android
你就告诉 /暗示他,试用版有 bug/后门 /收集信息 /随机崩溃等等问题,结全款给完整版+源码
即使没有他也不会放心拿去用的。 |
22
Ultraman 2019-06-04 18:26:39 +08:00
一两年前有个老哥发帖说给朋友写了个软件用,后来被老板拿出去给其他人用在生产环境,后果就是一段时间后开始随机丢数据,最后厂家乖乖电话打过来了。
|
24
herozhang 2019-06-04 18:31:30 +08:00
C#弄的,更有效的是加个加密 shell,否则太容易被逆向破解了。剩下的就是屏蔽关键功能,例如数据保存有限制(最多保存 1000 条数据啥的)。
|
25
loading 2019-06-04 18:39:15 +08:00 via Android
把功能分开做到几个小 app 里面,而且这几个工具不能同时运行。
|
27
Symo 2019-06-04 18:49:05 +08:00
用序列号吧, 没有号的时候限制部分功能, 通常客户没能力反编译你的程序.
|
28
icekingcy 2019-06-04 18:49:46 +08:00 via iPhone
软件运行时间写入一个 txt,具体时长内容加密(随便乱编一个加密、解密算法。或者用知名的加密算法,私钥强制写在程序里。私钥也可以通过自己编写个 for 循环啥的 加密下、解密就再跑下。增加别人直接二进制分析的难度),软件无法读取该文件内容 报错,该内容被篡改报错。到了固定时长(也写在该文件里)不付费就不能打开运行。给钱的话 发个 时长 99999999 …的给客户
|
29
CEBBCAT 2019-06-04 20:55:44 +08:00
我想需要一些文章向软件开发者普及防破解的知识。我印象里纯纯写作的作者好像就比较有自信面对破解
我只是很浅地了解过破解,但楼上的方法似乎只要改一个内存的真假值就可以破掉了…… |
30
ijse 2019-06-04 21:03:35 +08:00
同时使用多种方式,不一定完全避免破解,但可以提升破解成本
|
31
baojiweicn2 2019-06-04 21:20:19 +08:00 via Android
随机崩溃?
|
32
xuddk727 2019-06-05 13:08:55 +08:00
我觉得很多人都想歪了,除非这个项目工程体量很大,不然有能够逆向你软件的人员在何必还要你去开发?
工厂这种客户就最好打交道了, 1.只打一次交道的:弄份 LICENSE 文件,软件内提供你的联系方式,尽管让他去试用,用上个三五个月,脱离不开你了,告诉人家这是商业软件,得交钱了。不交,法院见。 2.长期客户,把算法拆成几部分,核心的公式 /常量 往注册表 /txt 文件里写好,验证到日期就删除掉该文件 /记录,并提示已到期,让客户联系你。 至于搞随机崩溃什么的,这种哥们肯定自己没有商业经验,你要收费是天经地义的事,软件崩溃却会让人家觉得这东西不靠谱 |
33
hotsun168 2019-06-05 19:14:49 +08:00 via iPhone
我之前的经验是将核心运算逻辑放在服务器,客户端用 HTTP 调用的形式。
|
34
xuanyi0926 2019-06-14 18:21:27 +08:00
|
35
laodao 2019-06-15 13:02:56 +08:00
@xuanyi0926 asar 算法是 Electron 作者实现的一个包,有对应的 github 地址,你把里面压缩算法源代码看了,自己改下压缩算法就可以。这样原本的 asar 就没法解压你的包。但是这个需要替换的地方比较多。反正挺麻烦的,我都忘了怎么弄了。
|