
帮人家做一个桌面软件,在现在互联网码农看来比较土的种。 就是 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 不要试图从技术上解决,应考虑从法律上解决。例如签订协议,提供试用版 /技术测试版 /验收版,一旦泄露乙方承担相关责任。具体请咨询律师并拟好合同。 |
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 就没法解压你的包。但是这个需要替换的地方比较多。反正挺麻烦的,我都忘了怎么弄了。 |