背景:最近压力有些大,想玩点游戏放松下,去 Mac 论坛下载,发现需要各种权限,于是蛋疼了。
所以,上网查了 discuz! x3.1 破解,手动替换,发现出现 "链接已过期"。所以写了下面程序。
0. 将下列代码复制到你的 python IDE 中。
1. 先进网页,chrome 浏览器查看网页元素,替换正则表达式内内容。
2. 刷新你要下载的页面,右键复制下载链接 url = '你复制的链接'
3. 运行 python,你的 IDE 里面就会打印出真实下载地址。
运行环境:python3.5
操作系统:macpro 2016
- import base64
- import re
- # 这里是你鼠标单击右键-》保存要下载的链接。替换 url = '你复制下来的链接'
- # 其中"第一部分"是'.forum.php?mod=attachment&aid=' "第二部分"是 forum.php?mod=attachment&aid=
- # 后面会用到url ='forum.php?mod=attachment&aid=NjE4NzF8NmM2ZDU4Y2Z8MTQ5ODgzNjUyMnwwfDIyMTg3'
- # url0是你要下载的网址的主页,加上"第二部分" 也就是 "forum.php?mod=attachment&aid="url0 ='http://m.tracker.7do.net/forum.php?mod=attachment&aid='
- # 正则表达,需要将括号内的"第一部分" 也就是 "forum.php\?mod=attachment&aid=" 替换成你复制链接的第一部分p = r'(forum.php\?mod=attachment&aid=)(.+)'
- aid = re.search(p, url).group(2)
- z = base64.b64decode(aid)
- #下面的正则不用管
- # print(z)p = r"(b')(.+)(')"
- z1 = re.search(p, str(z)).group(2)
- # print(z1)p = r"(.+)(\|0\|)(.+)"
- z2 = re.search(p,str(z1)).group(1)
- p = r"(.+)(\|0\|)(.+)"
- z3 = re.search(p,str(z1)).group(3)
- # print(z2)k = z2 +'|2|'+ z3
- k = bytes(k, encoding ="utf8")
- # print(k)
- # k = b'61871|acf3aa27|1498835323|1|22187'j = base64.b64encode(k)
- # print(j)p = r"(b')(.+)(')"
- j1 = re.search(p, str(j)).group(2)
- # print(j1)
- url1 = url0 + j1
- print(url1)
备注:上面破解仅供学习使用,不要用在其他用途,如果侵权,请联系作者,也就是我,我会妥当处理。
不明白过程的,可以看下面的参考资料。
参考资料:
1. python str 与 bytes 之间的转换
2.python 中的正则表达式(re 模块)
3.Discuz 论坛附件下载权限绕过漏洞
来源: http://www.cnblogs.com/cbds/p/7101123.html