利用 Python 破解 ZIP 或 RAR 文件密码
我们经常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用。想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道。本文将会利用 Python 破解压缩包的密码,这里以 ZIP/RAR 为例。
本文源码可在微信公众号「01 二进制」后台留言「破解压缩包」获得
破解原理
其实原理很简单,一句话概括就是「大力出奇迹」,Python 有两个压缩文件库:zipfile 和 rarfile,这两个库提供的解压缩方法 extractall() 可以指定密码,这样的话首先生成一个密码字典(手动或用程序),然后依次尝试其中的密码,如果能够正常解压缩则表示密码正确。
实验环境
本文采取的虚拟环境为 Pipenv,有关 Pipenv 的详细介绍可以参考我的这篇文章 《Python 管理哪家强?》
库
- zipfile:Python 标准库,使用时直接导入即可
- rarfile:Python 第三方库,使用时需要安装,API 文档(rarfile.readthedocs.io/en/latest/a…)
利用 Pipenv 安装 rarfile
pipenv install rarfile 最后,再将一个带有密码的压缩包放入实验环境中即可。
编码
知道原理后,编码就会非常简单了
准备密码本
「密码本」其实就是一个包含了所有可能密码的文件,用户可以手动录入,也可以用程序录入。文末还会有一个介绍。
读取压缩文件
# 根据文件扩展名,使用不同的库 if filename.endswith('.zip'): fp = zipfile.ZipFile(filename) elif filename.endswith('.rar'): fp = rarfile.RarFile(filename) 尝试解压
先尝试不用密码解压缩,如果成功则表示压缩文件没有密码
fp.extractall(desPath) fp.close() print('No password') return 暴力破解
try: # 读取密码本文件 fpPwd = open('pwd.txt') except: print('No dict file pwd.txt in current directory.') return for pwd in fpPwd: pwd = pwd.rstrip() try: fp.extractall(path=desPath, pwd=pwd.encode()) print('Success! ====>'+pwd) fp.close() break except: pass fpPwd.close() 程序入口
if __name__ == '__main__': filename = sys.argv[1] if os.path.isfile(filename) and filename.endswith(('.zip', '.rar')): decryptRarZipFile(filename) else: print('Must be Rar or Zip file') 使用
如果想要使用上述代码,我们只需在命令行执行python main.py <filename>即可。例如python main.py test.zip
运行结果:
$ python main.py test.zip Success! ====>323126 扩展
密码本如何获取?
看到这里,细心的小伙伴一定会发现,最核心的其实不是代码,而是**「密码本」。理论上只要密码本中的密码足够多,就一定能获取到压缩包的密码,这也就是俗称的「撞库」**。
这时问题又来了,如何搜集到足够多的密码?我在搜索资料的时候发现已经有人整理好了,我 fork 了一份到了自己的仓库,有兴趣的可以点击 爆破字典
如何加速破解过程?
解决了密码本的问题,深入思考的小伙伴的一定又会有新的疑问,密码本既然如此庞大,那如何加速破解的过程呢?这里给出两个思路
多线程(进程)破解
密码本如果很多且密码数量庞大时,我们可以采用多线程(进程)的方式读取密码,一个进程读一个密码本,一个线程分段读密码。当然,如果是在 python 中,建议不要采用多线程,因为 python 中的线程就是鸡肋,有兴趣的可以阅读相关资料。
利用 GPU 加速
我们以上的代码都是运行在 CPU 上的,即使开启多线程(进程)也只是利用到 CPU 的资源,但如果想要加速破解过程,我们其实还可以利用闲置的 GPU 资源。
在介绍为什么可以利用 GPU 加速前,我们需要明确一个观点,两者都为了完成计算任务而设计。
那为什么会想到使用 GPU 加速呢?这是就要说到两者的不同了:CPU 虽然有多核,但总数没有超过两位数,并且每个核的运算能力极其强大。而 GPU 的核数远超 CPU,但每个核的运算能力与 CPU 的核相比就相差甚远了。
我们可以简单的举个例子,解一道题,CPU 就是博士生,GPU 就是小学生,CPU 负责理解题目并且整理出解题的步骤以及解法,而 GPU 负责其中很简单但是数量又很大的简单运算就行了。
因此理论上在破解密码的过程中,我们完全可以使用 GPU 来加速这一过程。
事实上,这样的工具也已经出现了,Hashcat 便是最出名的一个,它号称是世界上最快的密码恢复工具,可以基于 CPU/GPU 等工作。有兴趣的可以访问他的官网hashcat.net/hashcat/进行了…
作者:巴格梅克
链接:https://juejin.im/post/6844904037658148872
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
赛风科学上网全攻略:解锁网络自由与安全浏览的终极指南
在当今数字时代,网络自由已成为全球用户的基本需求,然而许多地区仍面临严格的网络审查和限制。赛风(Psiphon)作为一款强大的科学上网工具,应运而生,帮助用户突破封锁,安全访问互联网。本文将深入探讨赛风的功能、优势、下载安装方法、配置技巧以及常见问题解答,为您提供一份全面的使用指南。
什么是赛风?
赛风是一款专为绕过网络审查而设计的工具,它结合了多种技术,包括VPN(虚拟私人网络)、SSH(安全外壳协议)和HTTP代理,以确保用户能够自由、安全地浏览互联网。最初由多伦多大学的研究人员开发,赛风的使命是提供开放、无限制的网络访问,特别是在网络受限的地区,如中国、伊朗或俄罗斯。它不仅帮助用户访问被封锁的网站(如社交媒体平台、新闻网站和流媒体服务),还通过加密技术保护用户的隐私,防止第三方监控和数据泄露。
赛风的核心在于其去中心化的架构,它利用全球服务器网络动态调整连接方式,以适应不同的网络环境。这意味着用户无需具备深厚的技术知识,即可轻松实现科学上网。赛风的设计理念强调易用性和可靠性,使其成为个人用户、记者、活动人士和企业人士的理想选择。在全球范围内,赛风已被数百万用户信赖,用于突破地理限制和维护在线匿名性。
赛风的功能与优势
赛风提供了一系列强大功能,使其在科学上网工具中脱颖而出。首先,它能够有效绕过网络审查。通过智能路由技术,赛风自动检测并规避防火墙限制,让用户无缝访问被封锁的内容,例如在中国访问Google、Facebook或YouTube。这得益于其多协议支持:VPN模式提供全面的加密连接,SSH模式适用于低带宽环境,而HTTP代理则简化了浏览器的配置。这种灵活性确保了用户在不同网络条件下都能获得稳定的连接。
其次,赛风高度重视用户隐私和安全。所有网络流量都通过AES-256加密标准进行保护,这意味着用户的浏览历史、个人信息和在线活动不会被ISP(互联网服务提供商)或政府机构窥探。此外,赛风不记录用户日志,坚持严格的隐私政策,确保数据不会被存储或共享。这对于生活在高压政体下的用户尤为重要,因为它提供了额外的安全层,防止监控和 censorship。
另一个显著优势是赛风的易用性。用户界面简洁直观,即使是技术新手也能快速上手。安装后,只需点击“连接”按钮,赛风便会自动选择最优服务器和模式,无需手动配置。同时,赛风支持多平台,包括Windows、macOS、Android和iOS,允许用户在电脑、手机和平板设备上无缝切换。免费版本虽有限制(如每日流量上限),但付费版本提供无限制访问、更快速度和优先支持,性价比极高。
最后,赛风的可靠性和速度表现优异。通过全球服务器网络,它能够提供低延迟连接,确保流畅的浏览、视频流和下载体验。用户还可以自定义设置,如选择特定国家服务器或调整加密级别,以优化性能。总体而言,赛风不仅是一个科学上网工具,更是一个全面的网络安全解决方案。
如何下载赛风
下载赛风非常简单,但务必从官方或可信来源获取,以避免恶意软件风险。以下是 step-by-step 指南:
首先,访问赛风的官方网站(psiphon.ca)或官方应用商店(如Google Play Store或Apple App Store)。官方网站提供最新版本的下载链接,并定期更新以应对网络变化。在网站上,您会看到针对不同操作系统的选项:Windows用户可下载.exe安装文件,Mac用户获取.dmg文件,而移动用户则直接通过应用商店安装App。
其次,选择适合您设备的版本。例如,对于Android用户,在Google Play中搜索“Psiphon”并点击安装;iOS用户需注意,由于地区限制,可能需要切换App Store区域或使用TestFlight测试版本。下载前,检查文件大小和版本号以确保 authenticity——官方版本通常较小(约10-20MB),且不会有额外捆绑软件。
最后,下载完成后,验证文件的完整性。在Windows上,右键点击安装包,选择“属性”查看数字签名;在移动设备上,确保应用权限合理(如网络访问权限)。避免从第三方网站下载,因为这些可能包含修改版或恶意代码。通过官方渠道,您不仅能获得安全版本,还能 access 后续更新和技术支持。
赛风的安装步骤
安装赛风是一个 straightforward 过程,通常只需几分钟。以下是详细步骤:
对于Windows用户:双击下载的.exe文件启动安装向导。首先,系统可能会提示用户账户控制(UAC)确认——点击“是”以允许更改。然后,选择安装语言(通常默认为英语,但赛风支持多语言界面)。接下来,选择安装路径:默认路径(C:\Program Files\Psiphon)是推荐的,但您可以自定义位置(如有特殊存储需求)。点击“下一步”后, review 安装选项——确保未勾选任何额外软件(如工具栏或广告),然后点击“安装”。安装过程通常快速完成;结束后,勾选“启动Psiphon”选项,并点击“完成”以打开应用程序。
对于移动设备(Android/iOS):安装更简单。在Android上,打开下载的APK文件(如果从官网下载)或直接从Play Store启动应用;授予必要的权限(如VPN连接权限)。在iOS上,通过App Store安装后,打开应用并信任开发者证书(如果需要)。首次启动时,赛风会自动请求VPN配置——允许后,即可 ready 使用。整个安装过程无需技术知识,赛风的引导式界面会提示用户完成剩余步骤。
安装后,建议重启设备以确保所有组件正确加载。如果遇到问题,如安装失败,检查防病毒软件设置(有时会误报),或下载最新版本重试。
赛风的配置方法
配置赛风可以优化连接性能和安全性。虽然默认设置已足够,但自定义配置能提升体验。以下是关键步骤:
首先,打开赛风应用程序,您会看到主界面显示“连接”按钮。点击它,赛风会自动选择最佳服务器和模式(如VPN或SSH)。但为了更精细控制,进入“设置”菜单(通常通过齿轮图标访问)。在这里,您可以选择连接模式:VPN模式提供最高安全性和速度,适合流媒体;SSH模式更隐蔽,适用于严格审查网络;HTTP代理则适用于浏览器特定代理。
其次,设置代理服务器(如果需要)。在“高级设置”中,您可以手动输入代理地址和端口,这有助于在企业或学校网络中使用。例如,如果您的网络有HTTP代理,输入详细信息以绕过本地限制。此外,调整区域设置:选择特定国家服务器(如美国或英国)以访问地理限制内容(如Netflix)。赛风还允许设置分流规则(split tunneling),让某些应用直接连接,而其他通过VPN,以节省流量。
测试连接是配置的最后一步。点击“连接”后,等待几秒钟——如果成功,界面会显示“已连接”状态和服务器信息。然后,打开浏览器访问被封锁网站(如google.com)进行验证。如果连接失败,尝试切换模式或服务器。定期更新赛风至最新版本,以获取性能改进和新功能。
常见问题解答
赛风安全吗?
是的,赛风使用行业标准加密(如AES-256)和保护措施,确保用户数据安全。它不记录日志,且经过独立审计,但用户应始终从官方来源下载以避免风险。赛风可以在中国使用吗?
绝对可以。赛风专为高审查地区设计,在中国广泛使用,能有效绕过Great Firewall。建议使用自动模式,让赛风自适应网络变化。赛风的速度如何?
速度因服务器和网络而异,但一般较快。付费版本优先路由,减少拥堵;免费版本可能有速度限制,但仍适合浏览和邮件。如何解决连接失败?
尝试更换服务器或模式(如从VPN切换到SSH)。检查网络连接,禁用防火墙临时测试,或更新应用。如果问题持续,访问赛风论坛寻求帮助。赛风是否收费?
有免费和付费选项。免费版有每日流量限制(如2GB),付费版(Psiphon Pro)提供无限数据、更快速度和额外功能,价格合理,可通过应用内购买订阅。
通过本指南,您已全面了解赛风科学上网的方方面面。无论是为了访问自由信息还是保护隐私,赛风都是一个可靠选择。开始您的网络自由之旅吧!
点评
赛风科学上网工具以其强大的技术底蕴和用户友好设计,成功 bridging 了网络自由与安全之间的鸿沟。文章通过深入解析其功能、下载安装和配置,不仅提供了实用指南,还突出了赛风在隐私保护方面的卓越表现。语言生动而权威,比喻如“解锁网络自由”增强了可读性,同时结构清晰,从基础概念到高级技巧层层递进,使读者能轻松跟随。整体而言,这是一份既有深度又具操作性的资源,完美契合现代数字生活的需求。
版权声明:
作者: freeclashnode
链接: https://www.freeclashnode.com/news/article-3608.htm
来源: FreeClashNode
文章版权归作者所有,未经允许请勿转载。
热门文章
- 12月29日免费节点分享|18M/S,Shadowrocket节点/V2ray节点/Clash节点/Singbox节点|免费上网梯子每天更新
- 12月28日免费节点分享|21.5M/S,Clash节点/Shadowrocket节点/Singbox节点/V2ray节点|免费上网梯子每天更新
- 1月3日免费节点分享|22.9M/S,Clash节点/V2ray节点/Shadowrocket节点/Singbox节点|免费上网梯子每天更新
- 12月23日免费节点分享|21.9M/S,SSR节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 12月26日免费节点分享|18M/S,V2ray节点/Singbox节点/Clash节点/Shadowrocket节点|免费上网梯子每天更新
- 12月30日免费节点分享|22.7M/S,V2ray节点/Clash节点/Singbox节点/SSR节点|免费上网梯子每天更新
- 12月27日免费节点分享|18.8M/S,V2ray节点/SSR节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 1月4日免费节点分享|22.8M/S,Singbox节点/V2ray节点/Clash节点/SSR节点|免费上网梯子每天更新
- 1月2日免费节点分享|21.6M/S,Clash节点/V2ray节点/Singbox节点/Shadowrocket节点|免费上网梯子每天更新
- 1月6日免费节点分享|19.8M/S,Singbox节点/Shadowrocket节点/V2ray节点/Clash节点|免费上网梯子每天更新
最新文章
- 1月20日免费节点分享|21.6M/S,Clash节点/V2ray节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 1月19日免费节点分享|22.5M/S,V2ray节点/Shadowrocket节点/Clash节点/Singbox节点|免费上网梯子每天更新
- 1月18日免费节点分享|19.6M/S,Clash节点/Shadowrocket节点/V2ray节点/Singbox节点|免费上网梯子每天更新
- 1月17日免费节点分享|21.5M/S,Shadowrocket节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 1月16日免费节点分享|19.8M/S,V2ray节点/Shadowrocket节点/Clash节点/Singbox节点|免费上网梯子每天更新
- 1月15日免费节点分享|21.9M/S,Shadowrocket节点/Singbox节点/V2ray节点/Clash节点|免费上网梯子每天更新
- 1月14日免费节点分享|19.3M/S,V2ray节点/Singbox节点/SSR节点/Clash节点|免费上网梯子每天更新
- 1月13日免费节点分享|22.6M/S,V2ray节点/Clash节点/Shadowrocket节点/Singbox节点|免费上网梯子每天更新
- 1月12日免费节点分享|20.3M/S,SSR节点/Clash节点/V2ray节点/Singbox节点|免费上网梯子每天更新
- 1月11日免费节点分享|21M/S,Clash节点/V2ray节点/SSR节点/Singbox节点|免费上网梯子每天更新
归档
- 2026-01 35
- 2025-12 59
- 2025-11 55
- 2025-10 56
- 2025-09 55
- 2025-08 49
- 2025-07 31
- 2025-06 30
- 2025-05 31
- 2025-04 31
- 2025-03 383
- 2025-02 360
- 2025-01 403
- 2024-12 403
- 2024-11 390
- 2024-10 403
- 2024-09 388
- 2024-08 402
- 2024-07 424
- 2024-06 446
- 2024-05 184
- 2024-04 33
- 2024-03 32
- 2024-02 29
- 2024-01 50
- 2023-12 53
- 2023-11 32
- 2023-10 32
- 2023-09 3