Skip to content
LEaver Blog
Menu
  • 关于我
  • 生活
  • 旅行
  • 科技
  • 吹水
Menu

OpenVPN Access Server 2.11.x 破解在线人数限制 (附加下载破解版pyovpn-2.0-py3.10.egg)

Posted on September 2, 2022September 2, 2022 by leaver

后记:
由于 2.9.x 以上版本由于使用了 Python3 编写,生成的库文件格式已变化,本补丁无法处理,本补丁目前最高支持 2.8.8 版本!
实测支持 2.5.x 至 2.11.x 版本.

前言

前阵子就因为setup 普通的openvpn就感到很麻烦,就发现到OpenVPN Access Server 可以很方便的setup,但又限制只可以两个connection

在网上博览群文之后发现流行的爆破补丁都是针对 2.5.0 版本的,直接拿来用肯定是不行的,经过分析发现 OpenVPN Access Server 的作者对盗版这个事情并不是很在意,从 2.5.0 到 2.11.x, 对于授权这款的代码基本是没改过的,所以在结合网络上面其他人的博文搞了一番并且成功了之后,特别在这里记录一下.

过程

环境准备

OpenVPN Access Server 是使用 Python 编写的,需要并且限制了 Python Runtime 的版本,两者必须匹配!

在 OpenVPN Access Server 2.9.0 以前,Python Runtime 的版本是 Python 2.8, 但是在 OpenVPN Access Server 2.9.0 及之后的版本,Python Runtime 的版本变成了 Python 3.x, 并且随着 OpenVPN Access Server 更新迭代,Python Runtime 的版本也需要同步变化。比如 OpenVPN Access Server 2.11.0 已经需要 Python 3.10.x 的版本了.

实操阶段

  • 主要操作的文件是一个名叫 pyovpn-2.0-pyx.x.egg 的文件,以我了解的情况来看,从 2.5.0 到 2.11.x 文件名一直都是这个,只是不同版本里面的内容不一样.
  • 这个文件有点类似 Java 当中的 jar 库文件,也是一个 zip 压缩文件,里面包含了一些 Python 的字节码文件.
  • 破解的原理大概是在 Python 中采用类似 Java 动态代理的技术,将原本读取用户属性的调用返回值拦截,修改用户限制数量再返回.

2.9.0 以下版本破解的目标文件是 /pyovpn/lic/uprop.pyo, 2.9.0 及以上是 /pyovpn/lic/uprop.pyc;

按照网上流行的破解方法,把这个文件解压出来并改名为 uprop2.pyo 或 uprop2.pyc, 然后新建一个 uprop.py 文件,内容如下 (注意区分版本):

2.9.0 以下版本内容:

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))

2.9.0 及以上版本内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from pyovpn.lic 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.py 编译为库文件 uprop.pyo 或 uprop.pyc:

1
2
3
4
# <2.9.0
python2 -O -m compileall uprop.py
# >=2.9.0
python3 -O -m compileall uprop.py && mv __pycache__/uprop.*.pyc uprop.pyc

注意 uprop.*.pyc 文件名会随着 python 版本变化而变化.

现在我们得到了一个改文件名的文件 uprop2.pyo 或 uprop2.pyc, 和一个编译出来的 uprop.pyo 或 uprop.pyc;

把这两个文件压缩到 pyovpn-2.0-pyx.x.egg 的 /pyovpn/lic/ 目录下,然后去服务器替换目标文件,重启服务就 OK 了.

下载pyovpn-2.0-py3.10.egg

如果你不想搞上面的那么多步骤,我这里附上已经处理好的 pyovpn-2.0-py3.10.egg 提供下载

实测支持: Ubuntu 22.04 x86

Related

1 thought on “OpenVPN Access Server 2.11.x 破解在线人数限制 (附加下载破解版pyovpn-2.0-py3.10.egg)”

  1. li says:
    December 28, 2023 at 1:29 am

    2.13.0版本VPN pyovpn-2.0-py3.10.egg 破解不生效

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • 你绝对需要的开发者神器!我开发了《一键图片转Base64》Chrome插件
  • 安装OpenVPN AS (Access Server) 2.14.1 / 2.11.x 教程 (包括突破只限2个客户端)
  • OpenVPN Access Server 2.11.x 破解在线人数限制 (附加下载破解版pyovpn-2.0-py3.10.egg)
  • Krabi -> Phuket -> Trang -> Hatyai 6天五夜超值自驾游
  • 从槟城北海骑摩多到玻璃市加央一日游

Recent Comments

  • leaver on 安装OpenVPN AS (Access Server) 2.14.1 / 2.11.x 教程 (包括突破只限2个客户端)
  • o on 安装OpenVPN AS (Access Server) 2.14.1 / 2.11.x 教程 (包括突破只限2个客户端)
  • pinn on 安装OpenVPN AS (Access Server) 2.14.1 / 2.11.x 教程 (包括突破只限2个客户端)
  • leaver on 安装OpenVPN AS (Access Server) 2.14.1 / 2.11.x 教程 (包括突破只限2个客户端)
  • li on OpenVPN Access Server 2.11.x 破解在线人数限制 (附加下载破解版pyovpn-2.0-py3.10.egg)

Categories

  • Uncategorized
  • 旅行
  • 生活
  • 科技
©2025 LEaver Blog | Design: Newspaperly WordPress Theme
 

Loading Comments...