如何对开发的软件加密
收费后才能使用
1
rainex 2019-09-05 12:14:45 +08:00 via iPad
看你是哪种形式提供的软件,以及能接受的性能下降幅度了。
一般编译为中间代码的比如 java .net 的最常用方式是混淆,来给反编译后的阅读代码和再次编译带来麻烦,混淆简单说就是把产量名类名等改成 a1 b2 这种简短且可读性差的,甚至用语言保留字来命名,这种混淆一般还能提高运行性能。 再就是可以利用调用语言运行库来执行语言代码,这样可以把代码加密,符合密钥之类条件才解密并运行,但这样的加密性能会下降的多些。 再有就是本地目标代码的,把常用的措施用上,比如可以加反调试的判断,发现进程里有常用的反编译工具或调试工具,就停止运行,比如可以把注册码的密钥算法和判断逻辑,跟业务逻辑里部分共用,来迷惑和增加修改的难度,这部分措施太多了,你去一些破解论坛多看看,比如看雪之类的,单机破解说到底就是增加破解时间成本的事,想完全防止只能是靠把部分业务逻辑放到联网服务器上,就像单机游戏够好玩的话总能吸引人破解,但网游没法破解。 |
2
ericgui 2019-09-05 12:21:31 +08:00 3
Think of Word, Excel and powerpoint.
I am not sure whether it's a good idea to waste your time and energy on such a thing. |
3
starsriver 2019-09-05 12:36:05 +08:00 via Android
开源是最好的营销。你是愿意自己的软件被破解满天飞?
|
4
murmur 2019-09-05 12:50:34 +08:00 2
律师走起,只有没人用的软件才不被破解
|
5
LxExExl 2019-09-05 12:56:02 +08:00
人工授权 先给看呆莫 支付宝收款后发送可执行文件
|
6
wr410 2019-09-05 12:59:18 +08:00
脚本语言、中间语言 --> 只能混淆,不存在加密。
编译系语言 --> 加壳、混淆。 |
7
xomix 2019-09-05 13:01:24 +08:00
最高级的加密硬件就是个集成化的运行环境,可以运行核心代码并且无法简单读取硬件内的内容,你可以把你的核心运算置入加密硬件,然后通过调用的方式执行程序,这样没有加密硬件的程序就是个空壳,而破解加密硬件的本事和你软件售价比较他也不想破解你的软件。
|
8
loginbygoogle 2019-09-05 13:01:34 +08:00
核心业务代码放在服务器端
|
9
xenme 2019-09-05 13:05:06 +08:00 via iPhone
简单的就是加壳
|
10
luckrill OP 人家复制、拷贝
怎么办 |
11
Sapp 2019-09-05 14:12:54 +08:00 3
其实软件加密这个东西已经很落伍了,你看最近几年的趋势就知道了,对于中小开发者要么是免费使用注册会员 pro 的方式,要么就是开源+定制,为什么呢 因为你不免费根本没人用,而且别人想破解照样能破解,微软 Adobe 的软件都能破解,你觉得你的软件能不被破解?而且一旦你校验做的太过分,其实也会导致部分用户放弃你的软件,这个的典型就是 surge,不止一个人表示厌恶 surge 几乎变态的正版校验,我至今都不用这个,不是我买不起,事实上我认为他虽然卖的贵,但是作为开发者工具倒是没几个钱,我不会考虑购买是我认为这种校验方式就是建立在不信任上的,我并不支持这种不信任感蔓延,我想像我一样的不止一个人。
另外一方面适当的免费白嫖用户是有利于你的传播的,比如个人一直用你的免费,后面觉得用的习惯推广给了公司,公司肯定要给你钱的吧? 还有个人之间的互相传播,surge 如果一上架就是 648 你觉得他能火的起来?火起来还不是靠着当初那批六块钱以及白嫖用户的宣传,不然现在有这么多只为了梯子的人吃饱撑的花 300 多买这玩意翻墙? |
13
tankren 2019-09-05 15:54:59 +08:00 1
电子狗
|
14
stoneabc 2019-09-05 16:14:55 +08:00
不联网登录账号不能使用,一些核心功能放服务端。
|
15
v2hub 2019-09-05 16:33:06 +08:00
核心功能放到服务器端,不要买软件,而是卖服务。
|
16
across 2019-09-05 16:35:49 +08:00
国内无解。开源什么的都是屁话,除非是大公司有精力维权。要么别搞,搞就免费的挂广告,不走 c 端收费。本地应用破解一定挡不住 -- 除非这软件没人用。
|
17
across 2019-09-05 16:48:23 +08:00
如果只是小范围自己搞搞,挂一个验证服务器也没多少流量。自己生成一对非对称密钥,根据设备、用户资料生成唯一字符串,用密钥加密成密文,拿到服务器上用私钥验证下就授权。
算是经典(过时)方案? |
18
smdbh 2019-09-05 17:11:01 +08:00
一个连微软都解决不了的问题!
|
19
Serpai 2019-09-05 17:42:34 +08:00
加密?不存在,吧需要的服务放在后端,我前端开源都行,没有逆向不了的前端
|
20
areless 2019-09-05 21:05:51 +08:00
你可以试着用独特算法的区块链去解决这个难题。前提是软件有这个价值去保护,因为成本……
|
21
ninjachen 2019-09-05 21:21:33 +08:00 via Android
收费使用那个叫登录吧,付钱了给个账号登录用
|
22
shynome 2019-09-05 22:25:20 +08:00 via Android
|
23
shynome 2019-09-05 22:25:59 +08:00 via Android
|
24
lulinux 2019-09-06 08:17:12 +08:00 via Android
知道 SaaS 软件为什么被斯托曼痛恨吗?因为软件在终端用户那里没有副本,破解难度非常高。
|
25
murmur 2019-09-06 08:38:39 +08:00
@tankren 以前专门有打狗棒是破解狗的,cubase 系列是一直这么玩,大概从 cubase7 以后,律师团和破解者达成了 py,elements 的加密万年不变每次都有破解,pro 版再无破解
|
26
daijinming 2019-09-06 10:27:26 +08:00
https://github.com/lilunjia/simple-license 推荐一个客户端授权开源项目
|
27
components 2019-09-06 13:43:37 +08:00
SaaS,服务端放在你自己的“云”上。客户可以根据自己实际需求,通过互联网向厂商购买所需的应用软件服务,按购买的服务多少和时间长短向你支付费用,并通过互联网来获得你为客户提供的服务。
|