Python多线程破解RAR/ZIP/7Z压缩包密码:原理与实战
简介这份多线程可视化压缩包解密源码主要面向多种主流压缩格式的密码破解场景适合具备基础的安全测试者也可帮助普通用户找回遗忘的压缩包密码。源码内置常见密码压缩表密码表用尽后自动切换随机数遍历最大支持16位密码并从小位数向大位数自动递增同时支持多线程并行计算实际破解时间取决于密码复杂度与字典命中率。资源包共238个文件其中208个txt文件为各类密码字典及数据样本9个py文件为可视化程序主体另有md说明文档、csv统计表、sh/bat辅助脚本及测试压缩包整体约301.88MB结构清晰便于直接使用。目前已有92人学习下载适合作为多线程编程、图形界面开发与压缩包加密机制研究的实战参考。读者可从中获得完整工程源码学习多线程任务调度、界面交互、密码字典加载与随机数生成策略等实现细节内置的常用密码字典可直接投入测试免去自行收集的繁琐流程对安全测试与密码恢复工作具有实用价值。1. 破解RAR、ZIP、7Z压缩包密码这份Python多线程源代码包能干什么忘了压缩包密码这件事几乎每个用电脑的人都撞上过。网上搜一圈要么是收费的“Advanced RAR Password Recovery”这类商业工具要么是号称能解但跑半天没反应的闭源程序。这份python多线程实现可视化RAR、ZIP、7Z压缩包解密源代码直接给了完整破解流程先用内置的常见密码表逐个试密码表用尽后再启动随机数遍历最大支持16位密码自动从小位数向大位数增长全程多线程并行带可视化界面。它解决的问题很具体——找回你自己有所有权但忘了口令的压缩包而不是什么神秘的黑科技。适合两类人一是手里有密码忘了、急需打开压缩包的下游使用者二是想研究口令爆破流程、学习多线程任务拆分的Python开发者。源码包里能看到完整的工作流也能直接改参数做二次开发。后面我把原理、参数和踩过的坑一次讲透。2. 三种压缩格式的破解原理为什么字典优先、随机数兜底2.1 三个底层库的选型rarfile、py7zr、zipfile各管一摊破解的本质是“试口令”也就是拿一个候选密码去对压缩包执行一次解密校验。Python里没有统一的“解任意压缩包”接口必须按格式分开处理。这份源码选的是三个库的组合zipfile标准库、rarfile依赖UnRAR底层库、py7zr纯Python实现7z。选型理由很直接——zipfile是内置的不装额外依赖rarfile需要libunrar.a或系统里的unrar.dll但这是唯一能在Windows上稳定读RAR的方案py7zr对7z的支持完整而且不依赖外部二进制。import zipfile import rarfile import py7zr def try_password(path, password, archive_type): try: if archive_type zip: with zipfile.ZipFile(path) as zf: zf.setpassword(password.encode(utf-8)) zf.testzip() # 只校验不解压速度更快 return True elif archive_type rar: with rarfile.RarFile(path) as rf: rf.setpassword(password) rf.testrar() # rarfile 提供的完整性测试 return True elif archive_type 7z: with py7zr.SevenZipFile(path, moder, passwordpassword) as szf: szf.test() # py7zr 的测试接口不落盘 return True except Exception: return False return False这里的try_password是整个破解器的核心判定函数任何一个格式分支的test方法抛异常就说明当前密码是错的立刻返回False。三个库的test类方法都只做“读头校验”工作不会把文件真正解压到磁盘所以单次尝试的代价被压到了最低——这是所有密码爆破工具的基本思路不要在循环里调extractall。2.2 密码空间的增长策略从四位PIN到16位的遍历顺序密码组合的数学空间是爆炸式增长的。四位纯数字只有10000种8位小写字母就有26的8次方约2088亿种。这份源码的策略是“字典优先、穷举兜底、从小到大”先跑内置的常见密码表表里的密码通常是几百条到几百万条全部试完没中再进入随机数遍历模式从1位开始逐步升到16位。def generate_space(max_length16, with_digitsTrue, with_lettersTrue, with_symbolsFalse): import itertools, string chars if with_digits: chars string.digits if with_letters: chars string.ascii_lowercase string.ascii_uppercase if with_symbols: chars !#$%^* for length in range(1, max_length 1): for guess in itertools.product(chars, repeatlength): yield .join(guess)这个生成器按长度递增输出所有组合1位的试完才进2位2位试完才进3位。注意参数with_symbols默认是关闭的——把符号加进字符集时间成本会陡增几十倍。常见做法是先跑纯数字和大小写字母的组合前几轮命中率最高16位全字符集的穷举只是理论上的兜底实际没人会真跑完。2.3 为什么“自动从小开始”能省时间密码习惯的统计规律从用户角度看压缩包密码大多是自己常用的那几个密码组合位数集中在6到10位。摘要里“自动从小开始向大破解”这个设计就是针对这个统计规律。如果一上来就按16位算全空间一个8位密码要跑完16位的所有前缀组合才能到达白白浪费几亿次尝试。这里建议你拿到包之后别直接跑16位先看内置字典文件里的密码分布把max_length改小到12甚至10命中速度能快一个数量级。3. 密码表预处理与命中率优化把字典变成真正的武器3.1 源码包里的字典文件每一份的适用场景这份源码的价值一半在代码另一半在那几个字典文件。直接看包内文件东西不少rockyou.txt.tar.gz、500-worst-passwords.txt.bz2、default-passwords.csv、four-digit-pin-codes-sorted-by-frequency-withcount.csv、scada-pass.csv、dutch_wordlist。它们各自有分工文件格式适用场景rockyou.txt.tar.gz压缩文本约1400万条真实泄露密码全集通用性最强500-worst-passwords.txt.bz2压缩文本500条快速试错适合弱口令four-digit-pin-codes-sorted-by-frequencyCSV10000条设备PIN码、手机备份、扫码锁default-passwords.csvCSV路由器、摄像头、工控设备出厂密码scada-pass.csvCSVSCADA/PLC工控系统常见口令dutch_wordlist纯文本非英语用户的字典补充rockyou.txt是渗透测试圈公认的“全字典之王”来自2009年社交网站泄露的1400万条真实密码按使用频率自上而下排列。它和500-worst的结合方式是先跑500条弱口令再跑rockyou的前10万条高频段。很多人的密码就在这两层里。3.2 二进制压缩格式的还原先解压再归一化注意rockyou和500-worst都是二次压缩的后缀分别是.tar.gz和.bz2。第一次使用时必须先把它们还原成纯文本否则读取会乱码或者直接报错。import bz2 import tarfile # 处理 500-worst-passwords.txt.bz2 with bz2.open(500-worst-passwords.txt.bz2, rt, encodinglatin-1) as f: lines [line.strip() for line in f if line.strip()] # 处理 rockyou.txt.tar.gz先读 tar 包再取内部文件 with tarfile.open(rockyou.txt.tar.gz, r:gz) as tar: member tar.getmembers()[0] # 包内通常只有一个 txt raw tar.extractfile(member).read().decode(latin-1, errorsignore) rockyou_lines [line.strip() for line in raw.split(\n) if len(line.strip()) 0]这里用了latin-1编码而不是utf-8是老字典的经典坑。rockyou这类泄露字典里混着各种语言的字节用utf-8解码会在中间炸掉errorsignore则保证了即便有异常字节也能把剩下的密码保住。实际运行中你会看到正确编码这一步做不做直接决定字典能不能完整加载。3.3 字典归一化去重、去空行、按长度过滤字典文件之间有很多重叠比如rockyou里当然也包括“123456”。如果不做去重同一个密码会被尝试多次——每多试一次都是白费CPU。还有一种情况更隐蔽就是部分字典行尾带着\rWindows换行符不去掉会导致密码判断永远失败。def normalize_passwords(*sources, max_length16): seen set() result [] for src in sources: for pwd in src: pwd pwd.strip() # 去掉 \r \n 和首尾空格 if not pwd: continue if len(pwd) max_length: # 超过16位的直接跳过 continue if pwd not in seen: seen.add(pwd) result.append(pwd) return resultnormalize_passwords的输出顺序遵循“先传入先保留”所以在调用时要把500-worst放前面、rockyou放后面这样弱口令会优先被尝试。max_length参数在这里的另一层含义是如果确认目标密码不超过10位把这个值调小能立刻砍掉大字典后半段的低概率长密码。3.4 字典耗尽后的随机数兜底字符集分期扩张字典跑完没中才轮到随机数登场。这里我建议你按“数字→小写字母→大小写混合→加符号”四级扩张不要一次性打开全字符集。原因是概率密度差异巨大——纯数字10位是100亿次加小写字母就是26的10次方两者差了几个数量级。常见做法是符号默认关闭只在数字和字母的组合耗尽后由用户手动开启避免设备跑了一整夜还在4位小写字母的区间里打转。4. 多线程与可视化实现三点提速和一个界面4.1 线程还是进程GIL决定了你的上限这是所有人跑这个包时第一个翻车点。Python的threading在纯计算场景下受GIL全局解释器锁限制多线程看似开了8个实际CPU只能跑满一个核。密码爆破是纯CPU密集型计算正确做法是用multiprocessing开进程池而不是threading开线程池。源码里所谓“多线程”实际应该走的是ProcessPoolExecutor才有效。from concurrent.futures import ProcessPoolExecutor def worker(pwd): if try_password(archive_path, pwd, archive_type): return pwd return None def crack_with_pool(passwords, workers4): with ProcessPoolExecutor(max_workersworkers) as pool: for result in pool.map(worker, passwords): if result: return resultProcessPoolExecutor的map方法会按传入顺序分配任务但执行是并行的。这里有个参数细节max_workers不要设成CPU核心数×2密码尝试的单个任务耗时极短毫秒级进程间来回切换的开销反而会拖慢总吞吐。我一般设置为CPU物理核心数如果读表快、解压快设为核心数减1更稳。4.2 密码段分片比逐条抢任务更好的调度方式用上面这种写法每个进程拿到的是一个密码而非一段密码——频繁的进程间通信会带来不可忽略的开销。更好的做法是把密码列表切成连续的大段每个进程领走一段从头跑到尾只有段尾才做一次通信。def chunkify(lst, n): size max(1, len(lst) // n) for i in range(0, len(lst), size): yield lst[i:i size] segments list(chunkify(all_passwords, workers_count)) with ProcessPoolExecutor(max_workersworkers_count) as pool: futures {pool.submit(worker_loop, seg): idx for idx, seg in enumerate(segments)} for future in futures: pwd future.result() if pwd: for f in futures: f.cancel()chunkify把大字典均分成n段每个进程只跑自己那一段段内的连续密码顺序天然保留。相比逐条fetch通信次数从“每条一次”降到“每段一次”实际提速在5%到10%之间。还有一点一旦某个段命中密码立刻cancel其余future防止其他进程继续白跑。4.3 可视化界面tkinter界面布局与实时刷新源码的可视化部分常见做法是用tkinter它是Python标准库里的GUI框架不用额外安装。界面上至少要有三样东西密码位数上限输入框默认16、线程数输入框、当前尝试密码和进度条。关键点在于——破解循环绝不能直接跑在主线程里否则界面会在开始后马上变白无响应。import tkinter as tk from tkinter import ttk import queue class CrackApp: def __init__(self, root): self.root root self.msg_queue queue.Queue() self.progress ttk.Progressbar(root, maximum100) self.status_var tk.StringVar(value等待开始...) tk.Entry(root, textvariableself.pwd_display : tk.StringVar()).pack() self.progress.pack() tk.Label(root, textvariableself.status_var).pack() self.poll_queue() # 每100ms检查一次队列 def poll_queue(self): try: while True: pwd, total, done self.msg_queue.get_nowait() self.status_var.set(f尝试: {pwd}) self.progress[maximum] total self.progress[value] done except queue.Empty: pass self.root.after(100, self.poll_queue)这里的核心机制是queue.Queue after轮询。后台破解进程每尝试一定数量比如100条就通过msg_queue发一条进度消息主线程每100毫秒来取一次。after并不是精度计时器它只是“每隔这么多毫秒再来执行一次”的循环钩子拿来更新界面绰绰有余。你下载后面板能实时看到当前在试什么密码、整体进度多少而不是只转圈——这就是可视化存在的意义。4.4 run.bat 与 libunrar.aWindows下必须先过的环境关包里的run.bat是Windows一键启动脚本双击它来拉起界面。但在这之前有两件事要检查第一是Python是否在PATH环境变量里第二是rarfile库是否找得到底层的UnRAR动态库。libunrar.a是静态库它要参与编译或链接而运行时实际用的往往是unrar.dll体量更轻。echo off chcp 65001 nul python -c import rarfile; print(rarfile ok) 2nul || ( echo [!] 请先安装依赖: pip install rarfile py7zr pause exit /b ) python app.py这段批处理做了两件事先用chcp切到UTF-8避免中文路径乱码再检查rarfile是否可用。如果缺依赖就直接提示、不启动主程序可以避免你双击后窗口一闪而过却不知道发生了什么。我建议你拿到包后第一步就手动跑这三行比在IDE里折腾快得多。5. 避坑与常见问题跑不起来、提速不明显、RAR5解不开怎么办5.1 双击run.bat闪退窗口一闪就没现象运行run.bat后出现一个黑色窗口不到一秒就消失什么信息都没留下。原因Python未加入系统PATH或者依赖库缺失批处理在提示信息还没显示时就因命令失败退出了。解决先打开CMD逐条输入python --version、pip install rarfile py7zr、python app.py看到具体报错再处理。最常见的是“python不是内部或外部命令”这时候要去Python官网装一个勾选“Add Python to PATH”的版本。装好后再双击run.bat就正常了。5.2 开了8个线程CPU占用却只有12%现象界面里把线程数调到8进度条半天走一格打开任务管理器一看CPU总占用只有百分之十几。原因源码如果用threading模块任务全卡在一个GIL锁里。Python的线程调度不是并行是交替执行。密码校验是纯Python计算GIL根本不放。解决换成ProcessPoolExecutor按4.1节的方式改。理论上进程数设成CPU物理核心数CPU占用能拉到80%以上。这属于“看着像多线程、实际是单线程”的典型误用拿到源码先看它是import threading还是import multiprocessing。5.3 RAR格式提示“unknown encryption version”或直接打不开现象跑ZIP和7Z都正常一遇到RAR包rarfile抛“RAR5 unknown encryption”之类错误。原因rarfile库本身只是壳真正干活的unrar底层库版本太老。RAR5是最新的加密格式旧版UnRAR只能解RAR4遇到RAR5就罢工。解决去WinRAR官网下载最新版安装包把安装目录里的UnRAR.dll复制到源码目录或者手动指定rarfile.UNRAR_TOOL/path/to/UnRAR.exe。绝大多数情况下只要更新底层库RAR5就能正常参与破解。源码包里的libunrar.a是编译链路用的运行环节通常还是认dll。5.4 界面开始破解后直接变白、点不动现象点“开始”按钮后界面像死了一样标题栏提示“无响应”等很久才恢复。原因破解循环直接写在按钮的回调函数里tkinter主线程被长时间循环堵死没空处理界面刷新和鼠标事件。解决把破解任务放到后台线程里界面只用after轮询队列。按4.3节poll_queue的做法后台每试一批就往Queue里塞消息界面只负责读。判断标准很简单——开始破解后窗口还能拖动、按钮还能点这个界面才算合格。5.5 字典里出现大量异常字符跑着跑着自己崩了现象跑字典模式时中途报UnicodeDecodeError程序中断退出。原因rockyou这类真实泄露字典是多语言混合的含有非UTF-8字节用默认的utf-8读取会在第一个异常字符处炸掉。解决读取字典时用latin-1或errorsignore。latin-1能把任何字节映射成合法字符但会造成部分密码带乱码后缀errorsignore更干净直接丢掉坏字节。我在3.2节里用的是后者。从那以后我每次处理字典文件都会先确认编码再丢进归一化函数。6. 进阶技巧命中率还能再涨的几个改法6.1 给字典密码加“上下文规则”内置字典只是通用密码集但实际压缩包密码往往带着个人信息——生日、手机尾号、姓名的首字母组合。我一般会做一个后缀拼接预处理把字典里的每个密码分别拼上年份的常见写法1990到2025再拼上“”“#”这类符号生成一个新的大字典。规则逻辑就是组合def expand_with_suffixes(base_pwds): years [str(y) for y in range(1990, 2026)] puncts [, #, !, .] new_set set() for pwd in base_pwds: for y in years: new_set.add(pwd y) new_set.add(y pwd) for ch in puncts: new_set.add(pwd ch) return list(new_set)这个函数会把每条密码最多扩展216种变体整体字典量会膨胀但命中率提升也明显。包内自带的four-digit-pin-codes按频率排序这本身就是一个巨大的后缀素材库——把rockyou前1万条常用密码和四位PIN做笛卡尔积能覆盖“常用词数字”这类组合我实际用它跑出过一个8位密码。6.2 多文件批量破解的队列化如果你手上有一批压缩包都要解别一个一个手动跑。常见做法是建一个待破解列表遍历到第一个密码命中后记录一下然后立刻换下一个压缩包而不是让同一个密码继续试后面的包。原因在于不同压缩包的口令大概率不同一个密码在第一个包上中了在第二个包上几乎必定失败继续试纯属浪费。6.3 16位密码随机穷举的真实预期摘要说“最大16位”但你必须理解16位全空间的含义。如果密码是16位大小写字母加数字组合数是62的16次方约4.7×10的28次方就算你1000个进程并行跑几亿年都跑不完。所以这份源码的价值排序是——字典模式解决90%的问题随机数模式只是兜底给那些用纯数字且位数不高但没进字典的密码一条活路。真实破解时先跑字典、再加后缀规则字典、最后才开穷举且穷举建议只开到8位数字。这个边界搞清楚了你才不会被“支持16位”误导去跑一个完全不可能完成的任务。权限提醒一句请只对自己拥有或获得授权的压缩包使用这份源码不要拿它去尝试他人的加密文件。希望这些参数和踩坑经验能帮到你。本文还有配套的精品资源点击获取

相关新闻

scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划

scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划

scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划 【免费下载链接】scriptc TypeScript-to-Native Compiler 项目地址: https://gitcode.com/GitHub_Trending/sc/scriptc scriptc 是一个 TypeScript 到原生可执行文件的编译器(TypeSc…

2026/10/1 2:01:46 阅读更多 →
如何让AI说人话:claudish-to-english——Claude Code大白话改写插件完整入门指南

如何让AI说人话:claudish-to-english——Claude Code大白话改写插件完整入门指南

如何让AI说人话:claudish-to-english——Claude Code大白话改写插件完整入门指南 【免费下载链接】claudish-to-english 项目地址: https://gitcode.com/gh_mirrors/cl/claudish-to-english claudish-to-english 是一个免费的 Claude Code 插件,…

2026/10/1 2:01:46 阅读更多 →
Harness Engineering操作手册:improve-harness与repository-review两大Playbook详解

Harness Engineering操作手册:improve-harness与repository-review两大Playbook详解

Harness Engineering操作手册:improve-harness与repository-review两大Playbook详解 【免费下载链接】harness-engineering 🐎 Ryan Lopopolo’s anthology, field guide, and agent context bundle for harness engineering 项目地址: https://gitcod…

2026/10/1 2:01:46 阅读更多 →

最新新闻

具身智能协同演化动力学(47):“具身协同训练”破解数据稀缺与Sim-to-Real难题

具身智能协同演化动力学(47):“具身协同训练”破解数据稀缺与Sim-to-Real难题

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强化学习&…

2026/10/1 2:34:00 阅读更多 →
OpenMAIC多智能体AI课程生成:原理、部署与实操全解析

OpenMAIC多智能体AI课程生成:原理、部署与实操全解析

最近开源圈里冒出来一个挺有意思的项目,名字叫OpenMAIC,来自清华相关团队,定位是“AI 多智能体课堂”。简单说,你给它一个主题,哪怕就是一句“讲一下微积分里的极限概念”,它能把整个主题拆解成一套结构完整…

2026/10/1 2:34:00 阅读更多 →
AI Edge Gallery 的 Virtual Piano Skill:端侧 Agent 通过 Webview 打造可交互 88 键虚拟钢琴的完整实现解析

AI Edge Gallery 的 Virtual Piano Skill:端侧 Agent 通过 Webview 打造可交互 88 键虚拟钢琴的完整实现解析

人工智能大模型本地部署AI 应用移动开发AI AgentAI 技能MCP Clients 【免费下载链接】gallery A gallery that showcases on-device ML/GenAI use cases and allows people to try and use models locally. 项目地址: https://gitcode.com/GitHub_Trending/gallery4…

2026/10/1 2:33:59 阅读更多 →
k6 负载测试入门:三步装好工具,跑通你的第一次压测

k6 负载测试入门:三步装好工具,跑通你的第一次压测

k6 负载测试入门:三步装好工具,跑通你的第一次压测 【免费下载链接】k6 A modern load testing tool, using Go and JavaScript 项目地址: https://gitcode.com/GitHub_Trending/k6/k6 刚上线的接口到底能扛多少并发?靠手工刷新页面测…

2026/10/1 2:33:59 阅读更多 →
MAS 一键激活脚本:免费搞定 Windows 和 Office 永久激活

MAS 一键激活脚本:免费搞定 Windows 和 Office 永久激活

MAS 一键激活脚本:免费搞定 Windows 和 Office 永久激活 【免费下载链接】Microsoft-Activation-Scripts Open-source Windows and Office activator featuring HWID, Ohook, TSforge, and Online KMS activation methods, along with advanced troubleshooting. …

2026/10/1 2:33:59 阅读更多 →
CCF GESP C++三级 学习笔记

CCF GESP C++三级 学习笔记

官网大纲数据编码(原码、反码、补码)进制转换(二进制、八进制、十进制、十六进制)位运算算法的概念与描述(自然语言描述、流程图描述、伪代 码描述)C一维数组基本应用字符串及其函数算法:枚举法…

2026/10/1 2:32:59 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →