2020.07.09
> 好久没更新seafile服务器了,今天心情不错来破解更新一下。
[TOC]
## 结论
经验证,用与`seafile-pro-6.3.9`同样[方法成功](/menu/117/)破解最新的7.1.5 pro版本,之前的文章在[这里](/menu/117/),本文就不再重复论述了。但是之前的破解方法在7版本下,会出现每隔一个小时`seafile`服务就挂一次的bug。
## 突破方法
### 首先
之前的两个文件也需要破解,方法在[之前的文章](/menu/117/)中。
### 其次
新破解主要解决每隔一个小时就会挂掉的问题。
具体原因是在`seaf-server`中存在一个逻辑,每个小时检测一下`license`,如果invalid,且账户数量>3,则挂掉。
具体c代码如下:
![](https://file.hurray0.com/uploads/menu/135/8758423314695113d9266dd95f057cd1.png)
因此需要在`validate_lic_hash_pulse`函数中做修改,使得其判定通过。
具体修改逻辑如下:
![](https://file.hurray0.com/uploads/menu/135/b25c3e1d10d103264152433758fb6b18.png)
之所以这么改是因为这里的数值3使用了int8类型,最大值只能为127。为了突破限制,汇编代码值`03`可以改成`FF`(即-1),然后汇编指令[jle ]^(jump less equal)改为[ jg ]^(jump great)。
具体如下:
![](https://file.hurray0.com/uploads/menu/135/2f91244d4c361fe2d59d67e289593d1e.png)
## 新版本说明
另外这回修改的时候,`IDA`反编译后的代码更容易阅读了(转换成c简直没有任何加密,例如下图,函数名和变量名都有了具体含义,而不是简单的变量名)。
![](https://file.hurray0.com/uploads/menu/117/1abaedc591a42d9086b4e1d473df9472.png)
以下截图是成功证明:
![](https://file.hurray0.com/uploads/menu/117/09a3fc72ae62ee0665dc920e4ee1c287.png)
![](https://file.hurray0.com/uploads/menu/117/47876403c4b43877800354a096db35ba.png)
![](https://file.hurray0.com/uploads/menu/117/23373222aad759fc299ae2d23ebdb64a.png)
## IDA的使用
之前文章中关于`IDA`的使用没有说明白,具体改某一行代码的时候需要使用`edit - Patch program - Change byte...`来修改;修改完成以后需要使用`edit - Patch program - Apply patches to input file...`来保存到源文件。经验证明这是最靠谱的方法,其他方法大概率有问题。
![](https://file.hurray0.com/uploads/menu/135/5b5383fa004215c3fb22791ebbd93d7a.png)
## 备注
__该博文仅供学习参考,为了国产软件的进步与发展,请购买正版使用(尤其是商业用途)!!__
基于以下原因,本文不再放出破解文件:
1. 之前本博客`6.3.9`版本放出破解教程,致使网络大规模出现破解教程与文件传播,已经造成了不好的影响,盗版用户变多不止一个数量级。
2. 国产开源软件真的需要更好的积淀与维护,更需要大家的照顾。
3. 目前`社区版`的功能已经足够好用,例如之前对我最吸引的历史版本已经在社区版中免费使用了。
4. 教程已经足够完善,对于程序员来说自行实现破解已经没有难度。
请杜绝传播破解软件!
按照本教程成功破解的用户请禁止将破解文件或中间文件发布至网络,否则将承担全部法律责任。
版权属于:Hurray's InfoShare
本文链接:https://hurray0.com/menu/135/
如果没有特别声明,则为本博原创。转载时须注明出处及本声明!