Seafile--linux专业版破解-6.2.9

Seafile--linux专业版破解-6.2.9

deny
2018-06-08 / 35 评论 / 1,021 阅读 / 正在检测是否收录...

前言

关于这篇博文最先是3月30号在吾爱破解论坛发布的帖子原帖地址;早就打算在博客上也进行更新,后来事有点多慢慢的也就忘了,直到今天就打算更新一下。(文章是直接复制的帖子,并稍微的进行了修改)
PS:破解版本玩玩就好了,切勿用于其他非法用途。毕竟Seafile也是国人开发的一款程序,同时在此呼吁有条件的各位购买正版,以支持国产软件发展。

Seafile

关于seafile的介绍请自行百度,其实官方是提供了专业版的,而且免费的专业版跟付了钱买的专业版功能上没有任何区别,主要是免费的只能注册三个用户。(百度上也貌似找不到专业版的破解版)
虽然说是可用的状态,但是我的感觉是十分蛋疼。毕竟有强迫症在作怪,正好可以让作为新手的我用这个程序来练练手。

破解过程

*破解的过程可能不会写的很详细。
此次破解主要是对限制人数进行了破解使其突破3人的限制。(将其修改为1000人)
破解的版本为目前的最新版本 6.2.9
经过大致的分析得知:

前台使用python语言编写,框架是django;
后端使用C语言编写;

于是可以先从前台下手,故意注册第4个用户使其提示错误信息,并根据错误信息追踪代码调用情况及位置;
最后从前台追踪到前台关于用户超限判断的代码位置,位于 seafile-pro-server-6.2.9/seahub/seahub/utils/licenseparse.py 文件中:

    def user_number_over_limit(new_users=0):
    logger = logging.getLogger(__name__)
    if is_pro_version():
        try:
            # get license user limit
            license_dict = parse_license()
            max_users = int(license_dict.get('MaxUsers', 3))

            # get active user number
            active_db_users = ccnet_api.count_emailusers('DB')
            active_ldap_users = ccnet_api.count_emailusers('LDAP')
            active_users = active_db_users + active_ldap_users if \
                           active_ldap_users > 0 else active_db_users

            if new_users < 0:
                logger.debug('`new_users` must be greater or equal to 0.')
                return False
            elif new_users == 0:
                return active_users >= max_users
            else:
                return active_users + new_users > max_users

        except Exception as e:
            logger.error(e)
            return False
    else:
        return False

难道真的就么简单?? 我猜想既然使用了C编写后端,那么肯定不会如此简单。于是把3改为1000,重启服务。并继续添加用户的操作,不过这时候错误信息变成了添加用户失败。果然没那么简单!
进一步分析python代码得出以下结论:

python前台并不进行任何实质上的操作,比如添加用户,更换邮箱,删除用户等等。
以上操作都是使用rpc进行通信调用C语言程序进行的。
所以实质上python只是对用户超限进行了简单的判断,像什么授权验证之类的都还是用C写的。

突然想起启动时控制台的输出信息,于是分析了Seafile的启动脚本,并将启动脚本中所启动的几个文件拖入IDA中静态分析。最终在 seafile-pro-server-6.2.9/seafile/bin/ccnet-server 文件中发现了端倪(进行text搜索关键字:license)
然后修改汇编代码将原本的3人限制改为了1000人。
修改完成后重启seafile服务并进行测试--成功注册第四位用户。至此程序也已经破解完成了。

PS:使用IDA分析linux可执行文件期间,也找到了授权验证的代码,并打算制作一个注册机,这样的话,以后的更新版本就不用再进行破解了;但深入以后发现,授权文件是使用RSA非对称加密算法进行的加密,既然没有他的私钥,那还是得将程序中的公钥替换成自己签发的。这样的情况还不如直接修改限制人数来的省事

运行截图

Demo:演示地址

console.png
home.png
admin.png

下载地址

不知道为什么官网也是放出了一个Ubuntu的版本?所以顺带也破解了。
同时也说明一下,seafile没有windows的专业版本的!!!
Linux版链接: 不提供下载
Ubuntu 版链接: 不提供下载
Demo:https://演示地址

安装教程

安装教程官方教程都有便不再此赘述,博主的是运行在Centos7系统上,机器配置为 CPU:4U,RAM:8GB,DISK:1.5T;

问题

文中如有错误或其他问题欢迎留言评论指出。
如果站点内资料库消失,且出现红色的错误字样或者网站排版混乱,请照官方说明停止程序并删除缓存后重启便可解决,缓存文件处于/tmp目录下。
个人经验: 使用命令 rm -rf /tmp/sea* 删除缓存后重启Seafile服务即可。
管理界面内如果也出现类似错误同样可以尝试使用以上方法解决。
(服务器非正常关机可能会导致以上情况发生,反正我的服务器断电了两次并且都出现了以上错误。)

声明

文章中涉及到的任何东西仅供学习交流,并且本站不会提供任何破解版下载。请支持正版,谢谢!

0

评论

博主关闭了当前页面的评论