0%

OpenVPN Access Server 2.8 Crack

开头

本人家里使用了运行了一台服务器, 为了方便远程管理, 最近在 Docker 中用 OpenVPN Access Server 跑了一个 OpenVPN 服务器, 但是想试试这个东西的最大负载, 怎奈免费版本的 OpenVPN Access Server 只允许两个连接, 本着孜孜不倦的精神为了能够深入研究一下于是上网冲浪一番.
在网上博览群文之后发现流行的爆破补丁都是针对 2.5.0 版本的, 直接拿来用肯定是不行的, 经过分析发现 OpenVPN Access Server 的作者对盗版这个事情并不是很在意, 从 2.5.02.8.0, 对于授权这款的代码基本是没改过的, 所以在结合网络上面其他人的博文搞了一番并且成功了之后, 特别在这里记录一下.

截止到我写这篇文字的时候最新的版本已经是 2.8.7, 但是由于我家里的机器用 Docker 部署 2.8.7 的时候会跑不起来所以用的 2.8.0.
关于这个问题的原因大概是: https://github.com/linuxserver/docker-openvpn-as/issues/108

还是要申明一下, 这篇文字不带有很多的分析属性, 本人不擅长把分析过程写出来, 算是伸手党的福利了~!!!

然后

环境准备

请自行准备下面提到的工具/环境:

名称 版本 必要
OpenVPN Access Server >=2.5(太旧的我没测试) YES
Python Runtime >=3.8 NO
python-uncompyle6 >=3.7 NO

实操阶段

  • 主要操作的文件是一个名叫 pyovpn-2.0-py2.7.egg 的文件, 以我了解的情况来看, 从 2.5.02.8.0 文件名一直都是这个, 只是不同版本里面的内容不一样.
  • 这个文件有点类似 Java 当中的 jar 库文件, 也是一个 zip 压缩文件, 里面包含了一些 Python 的字节码文件.
  • 重点来了: 这个文件的路径是在 {Python_Install_Path}/dist-packages/pyovpn-2.0-py2.7.egg.
  • 提前剧透一下: 破解过程的本质就是替换上面这个文件压缩包里面的一两个文件, 所以下面的内容都是围绕这个文件的内部结构来叙述的.

破解的目标文件是 /pyovpn/lic/uprop.pyo, 我用的方法也是网上流行的方法, 直接把这个文件改名为 uprop2.pyo, 然后在硬盘新建一个 uprop.py 文件, 内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import uprop2
old_figure = None

def new_figure(self, licdict):
ret = old_figure(self, licdict)
ret['concurrent_connections'] = 1024
return ret


for x in dir(uprop2):
if x[:2] == '__':
continue
if x == 'UsageProperties':
exec 'old_figure = uprop2.UsageProperties.figure'
exec 'uprop2.UsageProperties.figure = new_figure'
exec '%s = uprop2.%s' % (x, x)

再将编译为 uprop.pyo:

1
python -O -m compileall uprop.py uprop.pyo

正常情况下你就会发现报错了哈哈, 因为没得环境. 我在对比了反编译之后的文件发现一模一样之后就用网上流传的破解补丁文件里面的 uprop.pyo 直接添加到目标文件里面.
然后去服务器替换目标文件, 重启服务就OK了.

不好意思, 下午上班了, 没时间写了, 先这样吧, 有问题留言~!

放个大招(伸手党福利), 这个文件是上面提到的一些文件内容:
2.8.0-crack.zip

本文章提到的内容只允许做个人学习研究之用,不得用于商业用途!否则后果自负! 若资金允许,请点击链接购买正版,谢谢合作!

引用

  • 本文作者: 6x
  • 本文链接: https://6xyun.cn/article/112
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-ND 许可协议。转载请注明出处!