【Maya】Maya文件感染病毒的解决方案

2020年底开始,Maya平台流行了一种传染性极强的“牛皮癣”脚本,引起了行业的恐慌。这个疑似病毒的“贼健康”脚本影响之广,甚至引起了Autodesk官方的关注。根据该脚本的国内作者的解释,他原本是为了批量查杀“普天同庆”Maya病毒而开发的杀毒脚本,但该脚本很霸道的“以毒攻毒”,给原本正常的Maya场景文件也附加了诡异的数据信息。当有人将感染的Maya场景文件(.mb或者.ma)分享给其他用户,他们在使用Maya打开感染文件后,不幸也成为了传染媒介。

*PuTianTongQing(普天同庆)病毒,一个将恶意代码写入Maya场景文件中的脚本,会不断消耗计算机资源,导致Maya在运行过程中崩溃(故意破坏项目后大家放假?普天同庆?),并且感染了病毒的场景源文件也会继续传播给使用它的不同Maya用户。

感染“贼健康”后,Maya的场景文件会增加名为“breed_gene”和“vaccine_gene”的表达式。

手动删除它们是没用的,因为文件内部已经植入了作者的标记:每当保存Maya场景文件的时候,软件下方的信息提示栏就会出现“你的文件贼健康~我就说一声没有别的意思”。

*如果没有这句挑衅似的信息出现,很难有人发觉和反感……

在“贼健康”风波闹得沸沸扬扬之后,作者提供了解决方案:通过运行他编写的python脚本删除文件内置的脚本节点。不过,基于更多的防范措施,个人推荐使用Autodesk的官方解决方案:Security Tools For Autodesk Maya

*有不少程序员写了专门解决“普天同庆”和“贼健康”脚本的专杀工具,而著名的火绒杀毒软件,也能查杀Maya病毒文件,但经过尝试发现它会批量删除用户的Maya场景文件(*.mb),所以不建议使用。

尽管Autodesk官方声明该安全工具是安全不具有破坏性的,但还是仍有概率导致修复后的文件数据异常而无法打开,所以在执行操作前,用户应先将被感染的文件复制一份;如果发生意外错误,将复制的文件内容通过Maya导出的方式(File-Export…->*.mb)生成新的Maya场景文件,然后再继续使用官方安全工具查杀。


以下是使用官方工具查杀的步骤:


1.登录官网,在此页面下载官方安全工具:
https://apps.autodesk.com/MAYA/en/Detail/Index?id=8637238041954239715&os=Win64&appLang=en
因为页面可能由于过期或者改版而失效,所以这里我提供了目前官方的最新版本1.0.3打包下载。安全工具兼容Maya2015至2022版本,用户根据所使用平台安装其中一个软件包即可(windows用户运行MayaScanner-win64.msi)。

2.检查Maya的用户文档目录。Windows平台通常是:
C:\Users\用户名\Documents\maya\scripts
如果发现有这三个python脚本文件:userSetup.pyvaccine.pyvaccine.pyc,先删除它们。
3.在关闭Maya的前提下安装官方安全工具,否则需要重启Maya才能刷新插件列表。

4.启动Maya程序(不是双击感染的Maya文件),在插件管理器中启用安全工具(Windows->Settings/Preferences->Plug-in Manager),勾选MayaScanner.pyMayaScannerCB.py右边的Loaded和Auto load。

*这个安全工具不只是针对“普天同庆”、“贼健康”病毒,也包含了多种文件异常的处理方案,因此建议启用自动加载,有利于对更多文件的安全检查
5.在当前Maya中打开被感染的文件,会出现文件被异常的脚本节点感染的提示,点击Yes按钮进行处理。

*也可以从File->Scan File菜单中查找可能感染的.ma和.mb文件。
6.接着弹出提示,选择Save and Quit,Maya将会保存修复后的文件并退出。

*如果是小问题,也可能在场景文件的开启过程中完成自动修复。

打开保存后的Maya场景文件,如果没有报错提示,检查场景中的元素是否齐全,尤其是绑定的动画,一切正常就表示感染的文件已经修复成功。

如果需要卸载安全工具,重新执行安装程序MayaScanner-win64.msi,点击Uninstall按钮即可;而保留并保持插件自启动,相当于给软件一道防范病毒的安全防火墙。


【后话】
相比“普天同庆”病毒的恶意,“贼健康”脚本只是一个冷幽默,但任意侵入用户数据的行为都是不会被人接受的。

技术应造福社会,而非作恶。

0 评论
Inline Feedbacks
View all comments

Copyright© VIVICG 版权所有 粤ICP备 17111516号 粤公网安备 44011102000879