一套239MB的装修模型、几张只剩轮廓的照片。这次抢救绕开了破解密钥,转而从未损坏的数据里找线索。
2019年的一天,Vitalijus Weax 眼看着文件夹里的文件名一个接一个变成随机字符。他来不及弄清发生了什么,先拔掉了电源。后来才知道,硬盘上相当一部分文件已经被勒索软件加密。电脑里的照片、报价表、文档和视频都还能看见,却再也打不开。
他最舍不得那套亲手做的房屋三维模型。2017年装修公寓时,他用 SketchUp 把房间、家具、厨房和浴室一点点建了出来。模型有239MB,里面是他当年对家的设想。他保留了两个副本,但两个都没能躲过攻击。案发后,他没有向勒索者付款,也没有把那些打不开的文件删除,而是从桌面、图片和文档目录里挑出约700个加密文件,转存起来。接下来七年,这批文件一直打不开。
2026年11月,他把保存下来的文件交给 Claude Code,折腾了大约一周。按作者的统计,26%的文件完整恢复,27%能够打开但带有一定损坏,另有12%的内容被提取到新文件中,合计约65%重新获得了不同程度的使用价值。剩下的35%依旧无法恢复。他在 Reddit 的 ClaudeAI 社区分享了过程。Claude 没有拿到勒索软件的加密密钥,也没有在密码学意义上“解密”文件;它走的是数据恢复这条路。

一、没有密钥,先看看文件里还剩下什么
Claude最初判断:这批文件遭到的攻击属于 Scarab 勒索软件的一个变种,采用了AES与RSA组合的加密机制。按照作者给出的分析,每个文件由独立的随机AES密钥加密,再由攻击者持有的RSA公钥加密该密钥,相关密钥数据留存在文件末尾。没有对应私钥,直接还原密钥几乎没有现实可行性。Claude也没能绕开这套加密机制。把这件事说成“Claude破解勒索病毒”,会说错它做成的事。
后来,Claude拿到几份完好副本,把它们与受损文件逐字节比较。它发现:在这一批文件中,勒索软件主要加密了开头的16KB,后面的大部分内容仍与原文件一致;作者还记录到一小段数据被移动到文件末尾。这样能加快攻击:不必处理几百兆、几千兆的全部数据,只要破坏文件头、索引或压缩流的关键位置,普通软件就会报错。对受害者来说,文件还是打不开。
要抢救里面的数据,区别就大了。以那套239MB的SketchUp模型为例,16KB只占全部体积的大约万分之零点六七。决定软件如何读取内容的开头受损了,后面海量的几何、材质和纹理记录却可能仍在那里。Claude转而尝试读懂这些幸存数据,重建应用程序需要的文件结构。这需要解析文件格式、比对样本,再写程序反复试。
还有一件事:作者约八分之一的文件在其他目录里留有完好副本。Claude利用未被改动的内容匹配这些文件,找回原始文件及名称,这部分属于严格意义上的精确恢复。找现成的完好副本、缓存和历史版本,比重建数据省事,也更可靠。作者后来还在Lightroom目录中发现了一千多张没有被加密的照片预览图。这些预览图代替不了原始RAW文件,至少还能让人看到照片里的场景。
二、同样损失16KB,文件的命运却不同
Claude没有用一段通用脚本反复试这700个文件,而是把恢复程序拆成多个面向文件格式的模块:JPEG由JPEG的方法处理,PNG使用另外的解压思路,Excel、PDF、Photoshop、视频和SketchUp分别分析。每改进一次算法,就把它重新运行到整批文件上,查看新出现的可读文件、错误类型和边界情况。作者说,最后一轮改进又额外救回了大约100份文件。它边写程序边对整批文件复测,遇到新错误再改。
开头同样损失16KB,不同格式能救回的内容差很多。相机拍摄的JPEG照片通常带着比较稳定的量化表、霍夫曼表和图像尺寸信息;如果还有来自同一台相机、相近设置的完好照片,修复程序就有机会借用相应编码参数,再从幸存的压缩数据中重新定位图像。部分照片只需要处理顶部受损的一小条区域。某些相机文件前面还有元数据和预览图,主图像甚至可能基本幸免。作者称,有些Photoshop的PSD文件只需重建头部信息,连图层都能重新出现。
PNG要难一些。PNG常用的DEFLATE压缩会引用此前出现过的字节,回溯窗口最大可以达到32KB。文件前面16KB缺失,意味着后面看似完好的压缩数据有时仍会指向那些不存在的内容。恢复程序必须从幸存的数据流中寻找能够重新开始解码的位置,再结合图像宽度、行过滤规则等约束进行修补。作者展示的装修渲染图虽然能够重新观看,局部却出现彩色噪声;那不是原来的颜色,只是算法在缺少完整信息时作出的估计。
Excel不一定非要把原工作簿原样修好:先提取幸存的单元格值,再写入新文件,也能用。视频要从幸存的帧数据里找回播放顺序。作者有一段约十分钟的旧影片,Claude通过分析帧数据并参考相同时期Premiere导出的其他视频,恢复了可播放的画面与原始声音;另有一段4K航拍视频,画面被重新找回,声音却没能保住。Word文档和许多体积较小的网络图片则没有这么幸运。小文件可能被16KB的加密范围整个覆盖,另一些图片的关键编码表已经永远丢失。丢掉的数据如果没有留下别的线索,就无法精确还原。
作者的统计也能看出差别:完整恢复的26%,包括匹配到完好副本的文件以及部分照片、PSD和视频;带损伤打开的27%,集中在修复过的图像、PDF和短视频;12%则是把Excel的内容、RAW预览图、三维模型等提取成其他可用形式。这里的“恢复率”统计的是使用价值,不代表65%的文件与2019年的原始数据逐位相同。“重新能用”与“恢复到原样”要分开看。
三、一张照片还剩下线条,却失去了光和颜色
两百多张从网页保存的图片,处理起来格外棘手。这些图片与相机照片不同,许多采用渐进式JPEG编码。JPEG会把画面拆成很多8×8像素的小块,再分别记录大致亮度、色彩以及不同频率的细节。渐进式JPEG还会分多轮保存这些信息,早期扫描给出较粗的画面,后面的扫描逐步补充边缘和细节。如果前16KB恰好毁掉了最基础的亮度或色彩信息,而后续细节扫描仍然存在,就会出现非常怪异的结果:图像轮廓和纹理有了,光影和颜色却像被人抽走一样。
Claude一开始尝试通过数学规则修复这些图片,例如让相邻的8×8块在边界处尽量平滑,估计各区域的亮度和颜色。但仅靠这些规则,颜色和亮度仍很难补准。假设你只拿到一张厨房的边缘图,知道橱柜门、台面和墙砖的轮廓,却不知道墙是米白色还是灰色,灯光是暖黄还是冷白。人也能猜一张“看起来合理”的照片,却很难证明它与原图完全一致。对图像恢复而言,这种信息缺失属于欠定问题:可能的答案远不止一个。
按照作者叙述,Claude后来不再只微调公式,而是提出另一种办法,并动手实施:在用户本机的RTX 4070上训练一个U-Net图像恢复模型。它先收集完好照片,再人为模拟类似的文件损坏,让模型学习从幸存的线条与局部信息中估计丢失的亮度、颜色和低频结构。作者还额外补充了约100张不同类型的网络图片作为训练材料。据其报告,相比此前的数学修补方法,颜色误差下降超过一半,补充的训练照片还带来约10%的进一步改善。
这里的误差下降是作者自己的实验结果,尚无公开发表、经第三方复核的标准基准;对于那些原图已经找不到的受损图片,我们也无法直接计算恢复结果与真实原图的差异。例如作者展示了一张曾从房产网页保存下来的厨房照片,原网页早已消失。他后来还让ChatGPT根据Claude修复出的图像进一步生成一张可能的原貌。后一步更接近视觉再创作,可以很好看,也可能非常像原图,但它没有把已经消失的像素从磁盘里“找回来”。对私人纪念照来说,这样的重建也许令人欣慰;对证据照片、医学影像或者工业检测记录来说,必须清楚标出哪些像素来自原始数据,哪些来自模型推断。

四、那套239MB的房屋模型怎么回来的
照片缺了颜色可以估计;SketchUp模型要想重新打开,先得读懂缺了文件头的复杂二进制结构。作者最在乎的文件有239MB,装着五十多万个面、各类组件、材质、纹理、分组标签和保存的视角。模型存在两个被加密的副本,却没有一份完整的原始工程。开头的16KB正好破坏了SketchUp识别文件结构所需的重要信息,正常软件连入口都找不到。
Claude参考了OpenSKP公开的格式研究资料,但没有简单地找到一个现成转换按钮。按照作者记录,它先从幸存的记录里重新推断对象类型和结构关系,为这些字节写出专门的解析器;遇到资料未覆盖的记录类型时,又结合数据特征解出了三类此前未被文档描述的记录。它把模型中的几何与其他可解析对象提取出来,再导出为Blender能够读取的glTF/GLB文件。对于原来已经无法被SketchUp打开的工程,他终于能用另一种软件查看旧模型了。
导出之后,还有不少问题。作者此前并不会使用Blender,Claude就继续生成脚本,为不同SketchUp标签建立集合,把原来的视角变成摄像机,并在灯具与窗外布置光照。第一次渲染还有黑色窗户、墙面斑块、贴图错误,浴室的水龙头甚至多出了几个。用户指出问题,Claude逐一修改,最后又参照2019年的旧渲染图校正镜头位置,重新生成与过去相近的画面。多年以前亲手搭建的那个家,又能在电脑上旋转、查看和渲染了。
GLB能在Blender里使用,却不能据此推断原SketchUp文件的全部编辑语义、约束关系或历史信息已百分之百复原。作者的对照图、操作过程与文件统计构成了一份相当具体的个人实践记录,但目前仍是单个用户的自述,没有第三方对全套原始文件、恢复程序和结果逐项进行审计。他的旧模型重新有了可看的场景;原工程是否完整恢复,则是另一回事。
五、从写代码,到组织一项完整的工程
这次抢救用到的不止一种修复算法。传统恢复程序通常面向已经研究过的故障模型:识别特征、匹配格式、应用算法、输出结果。它们当然可以很强大,但面对一套格式混杂、损伤类型不完全清楚、还夹着私有三维文件的资料集合,仍需要工程师不断分析、开发和调试。这里的Claude做的事情横跨了多个原本分离的岗位:鉴别勒索软件、发现部分加密规律、设计模块化恢复工具、查找格式资料、写解析器、建立测试循环、决定何时切换到机器学习、调用本地GPU训练模型,再把结果送入三维软件复核。
Claude围绕“尽可能找回这些文件”持续组织工具和试验。用户没有一开始就指定必须写多少个格式模块,也没有预先设计U-Net训练流程,更不可能逐字告诉它怎样解析一个损坏的SketchUp对象流。Claude在执行中不断改变策略。与此同时,人的参与始终存在:人提供原始文件、完好样本、GPU、额外训练图片,指出渲染错误,也决定什么样的结果才算有用。它有终端、文件系统和计算资源可用,但结果还得由人检查,也离不开人提供的样本和反馈。
这件事还花了不少计算资源。作者称,这项工作在VS Code的Claude Code环境中持续约一周,文件恢复过程消耗了约5.446亿token,后续Blender修复约357万token,绝大多数属于缓存读写。他使用的是订阅计划,并没有实际支付“5亿token的普通API账单”;其估计按当时API缓存机制折算的费用大约为200美元,这只是个人估算,不能直接作为可复制的商业成本。这约一周里,反复读写文件、调用工具、跑测试和检查结果,都在消耗资源。若把这类工作搬到企业环境,执行权限、成本预算、任务检查点、失败回滚和过程日志都会变成系统设计的一部分。
六、旧工业文件也有类似的难题
工业企业也存着不少多年以前留下的文件。它们未必遭到勒索软件攻击,却同样存在读不出来、迁不出去、原厂软件已经消失的问题:十几年前的CAD模型、无法继续维护的项目数据库、旧版本工艺文件、只在某套专用软件里能打开的检验记录、伴随着设备退役而失去访问工具的控制程序和参数集。企业多年积累的知识往往保存在这些具体文件里,而不是整齐划一的知识库中。软件版本更迭、人员离职、供应商退出、格式不兼容,会让原本存在的数据一点点失去可利用性。
这次抢救有个可借鉴的做法:先不急着把所有东西迁移到统一平台,也不假设某个通用大模型天生认识全部工业格式,而是让具备工程工具能力的智能体去识别文件、查找规格、编写读取器,提取幸存或可验证的结构,再转换为下游系统能够消费的数据。对于设计模型,可以恢复几何拓扑、材质和零部件层级;对于检验文件,可以优先提取测量值、时间戳与设备标识;对于旧工艺项目,可以梳理参数表、版本差异与可追溯出处。软件能够提供公开SDK时,就按SDK做;格式不完整或资料缺失时,才进入更高成本的解析与验证。许多旧文件的问题是读不出来,先解决读取和校验,才谈得上后续使用。
工业数据的误差不能按私人照片的标准来衡量。三维模型多恢复了一个装饰件,可能只是画面上的小错误;吊装模型多出一个连接点,或关键尺寸偏离几个毫米,就有可能影响计算和施工。视觉修补可以使图片看上去更自然,却不能自动成为原始质检证据。如果用智能体处理这类文件,恢复结果需要分层记录:原始字节与哈希完整保存,解析出的确定性数据单独标识,推断补全的部分附带置信度和来源记录,几何尺寸、质量属性、装配约束与工艺规则交由专业软件或人工校核。研发、制造和质量场景需要能追溯每一步,不能只看恢复后的画面是否像原件。
安全操作也要跟上。遭勒索软件攻击后的恢复应首先隔离受影响的系统,保全证据,检查备份与可信解密工具,并在受控环境中处理工作副本。企业的敏感资料不宜因为使用AI就被直接上传到未知服务;可执行工具要隔离运行,写操作要限定到副本目录,关键操作保留日志。NIST关于勒索软件和破坏性事件后数据完整性恢复的指南,强调的也是恢复以后如何证明数据可信。AI可以帮忙抢救资料,备份、权限控制、终端防护和应急响应仍要照做。
七、七年后打开文件
这件事里我记得最牢的,是Claude起初承认自己没有密钥,然后去检查文件里还剩下什么。它比对样本、寻找能验证的线索,再按文件格式一个个试。能原样救出的就原样救出,不能完整恢复的就提取可用内容,实在缺失的信息才尝试推断,同时把失败留在统计表里。
我更在意它怎样在真实文件上反复试错:脚本写完要跑,图像修完要看,模型导出后还要找错。七年后,他没等到解密密钥。那套房屋模型却又能在Blender里查看了。
资料来源与说明
- Vitalijus Weax,《AI Unlocked My Ransomware-Encrypted Files — Without the Key》,Medium,2026年11月。案例细节、比例与训练结果主要来自作者本人记录,尚非第三方独立复现实验。
- Reddit,I gave Claude ~700 ransomware encrypted files…,作者技术摘要、问答与token用量补充。
- Microsoft Security Blog,《The Gentlemen ransomware: Dissecting a self-propagating Go encryptor》,2026年5月。用于核对部分加密作为勒索软件技术策略的行业背景;不同家族的具体加密范围并不相同。
- OpenSKP,SketchUp文件格式开源研究资料,用于理解旧SKP格式解析的技术背景;不能据此认定作者所用的是该仓库的特定版本。
- NIST,《Data Integrity: Recovering from Ransomware and Other Destructive Events》,2020年。关于恢复后数据完整性与企业安全的参考。
- No More Ransom,解密工具目录,可用于查询特定勒索软件及变种的公开解密工具。