仅以此文记录自己行路,不断成长的技术。请自重,不要询问我最后成果!如果某群晖的朋友能够看到,欢迎一起探讨程序保护、加解密相关知识。
一、前言
群晖监控(SurveillanceStation)是群晖系统中非常重要的一个应用,其以易用、广泛的摄像头支持、界面友好,功能强大闻名于NAS圈。许多群晖用户就是看中了(SurveillanceStation)而投入群晖的系统的怀抱,这也是我选择群晖的一个重要原因。
普通的群晖系统默认带有2路摄像头授权(也就是支持两路摄像头):
对于我这种没有院子,就看一个门和客厅的家庭来说,一般2路摄像头也就够了。但对于大部分网友家里一栋楼,500平大院子的规模来说,2路摄像头显然不够。
二、群晖监控路数不够的解决方案
那当前大家是怎么解决默认摄像头路数不够的呢?主流的是如下几种:
2.1 购买群晖官方的路数卡
在官网,代理商,某宝,某鱼等主流平台都有售卖,价格在200~300元每路,是企业使用的首选方案。
点评:完美的方案,就是比较贵,8路授权就得2000多,够买一台群晖了。
2.2 使用github提供的40/58/62路破解授权
该破解是修改libssutils.so
中计算初始授权的一个函数的一个变量,使得初始授权变为40/58/62
等不同数字。
但在7.0
系统之后的群晖监控,存在一个“时间炸弹”
,据说大概每隔一段时间60~90分钟
会主动停止所有摄像头录像。
上面Github仓库
提供的解决办法是:
- 屏蔽
synosurveillance.synology.com
- 每隔一个小时执行一下
/var/packages/SurveillanceStation/target/bin/ssctl restart
,重启一下监控套件(surveillance station)。
这种解决办法有一个缺点,就是每隔一个小时会丢失一段时间的(一般来说是十几秒)的录像,如果监控的位置比较重要,有可能某些事件的发生就在这段时间中,那还是比较遗憾的。
点评:优点是确实可以增加路数,缺点是存在时间炸弹
2.3 使用私有网站假冒群晖服务器进行授权
在逛某鱼的时候发现有这样子的一类解决方案,其原理大致是假冒了群晖的授权服务器,使得套件和服务器通讯时候,服务器会返回额外的路数,其授权界面大致如图,看不到真正添加的license。
注意:可能我理解的不一定正确,但是该方案一定是可以实现出现的,某鱼上的方案可能是下面的非破解版本的CMS多机方案。
点评:优点是没有时间炸弹,缺点是需要单独部署服务端。
2.4 结合上述github破解+cms授权
启动两台群晖系统(一台主,一台副),安装相同版本的surveillance系统,在副机器上使用上述2.2
方案进行破解,得到58
路授权,再通过cms将授权转到主群晖上,群晖就有了58+2
(DVA是58+6
),这么多授权。
如下图所示:
点评:优点是没有时间炸弹,缺点是需要两台群晖设备。
三、熊的探索
皮蛋熊对于某些技术类问题存在一定的好奇,无意助长任何气氛,仅作为技术探索,也希望以自己的探索来反馈厂商做出更好的产品。
3.1 时间炸弹
皮蛋熊能够想到的一是正面探索一下时间炸弹的原理,也可以借此思索下自己的程序应该如何进行保护。
探索的思路是先看炸弹的影响,干了什么事情 -> 跟踪炸弹发生情况 -> 逆向引起炸弹的原理。
经过这一系列的探索,让我对于linux系统下逆向功底在适配nvidia套件的基础上再上一层,发现了时间炸弹的原理,但迫于影响群晖利益,我并不能告知具体的方法。
3.2 密钥探索
我们在使用很多付费软件的时候都发现有神秘大能提供过注册机
这类软件,注册机
是如何生成密钥的,这个过程对于我来说一直充满了神秘。正好我对于群晖系统尤其喜欢,探索一下监控密钥的生成,于是开启了探索旅程,仔细分析后理解了密钥生成的逻辑,按照逆过程编写了python程序用于生成密钥。尝试生成了几百个密钥注册到系统中,但考虑到这个东西会切实影响群晖公司的利益,我立马删除了所有的密钥:
四、总结
本文总结了当前的解决方案,知道了各个解决方案的优缺点。皮蛋熊尝试正面解决时间炸弹,并逆向了密钥的生成逻辑。我深知该方案会切实影响群晖公司的利益,所以该方案不会向外公布,请免开尊口,但可和群晖公司进行交流,以期盼其产品越来越完善。
评论区