去年下半年开始,网上出现了一些导致MAX的undo无效、删灯光、无法保存甚至损坏档的病毒。
总结放在前面:
1,病毒脚本有两种,ALC和CRP。
2,修复脚本可以彻底清洁ALC,清楚后保存即可,360杀毒也可以彻底清洁ALC(无法清洁CRP)。
3,修复脚本也无法彻底清洁CRP,只能保证自己用的max程序不再被感染。被CRP感染,可以新建空MAX档Merge被感染的MAX模型,再保存可以存成干净的MAX。
4,删除\scripts\Startup里的所有*.ms文件可以阻止本机MAX被感染。
有兴趣了解的请翻官方通告帖并提交文件,没兴趣的请直接把max根目录下\scripts\Startup里的脚本全删光(我删光了,肯定有些是有用的,但是被感染了,加之我工作上应该用不上),再放入官方给的两个脚本。
杀毒脚本下载地址:百度网盘链接:http://pan.baidu.com/s/1bpdEbKV密码:9jji
或官方论坛链接:https://forums.autodesk.com/autodesk/attachments/autodesk/919/3042/1/ALC_CRP_fixup.zip
使用方法:将脚本ALC_fixup.ms与CRP_fixup.ms放入\scripts\startup目录下,不同版本的MAX需要各放一次。(例:D:\Program Files\Autodesk\3ds Max 2016\scripts\Startup)
脚本会在您打开3ds max的时候扫描您的硬盘上是否有中毒,如果有中毒,将会提出警告,并在您的同意下清除。当您打开3ds max文件时,脚本也会扫描是否有病毒加载。如果发现,也会提出警告,并在您的同意下在内存中清除(注意!!!不是清除原始文件中的病毒,您需要另存一份无病毒的文件。)
ALC危害:
开启文件时奔溃或者失败
破坏场景数据
空的helper
无法手动保存
Undo失效
显示多种MAX脚本错误
破坏或者移除摄像机,灯光,材质
破坏场景后强制自动保存
把自身加入已有MAX启动脚本中
强制关闭MAX
无法存储V-ray
CRP危害:
Undo功能被破坏(时好时坏),且切换视窗后无法再使用(Undo功能)
场景灯光可能会消失或被删除
因为自己手上做的东西发现undo无效的时候换回低版本做就不会受影响了的原因至今也没重视。
直到今天无意中翻到了一个去年8月14的帖子,说Autodesk官方针对中国出现的写了两个修复脚本,手上正好有感染了的MAX文件,亲测有效。
杀毒脚本的官方贴:https://forums.autodesk.com/t5/maya-3ds-max-zong-he-tao-lun-qu/guan-yu-zui-jin-chu-xian-de-bing-du-lin-shi-jie-jue-fang-an/td-p/7297624
我使用的结果是已感染CRP的max文件打开时有提示,点击确定后阻止CRP脚本运行,之后undo可用,max运行一切正常,但是无法杀除。感染ALC的文件可以直接杀干净,不影响模型。
下面是些废话:
我想彻底杀除CRP,就跑去看官方通告帖:https://forums.autodesk.com/t5/3ds-max-forum/potential了-issues-caused-by-third-party-maxscript-files-alc-and/td-p/7503182
点击每段后面的(See link for more details.)
我发现我按官方帖步骤执行不下去,帖子中让我在\Scripts\Startup中用win命令行find "CRP_AScript = " *.ms,然而我一个.ms文件都没找到,因为我早已把这个文件夹下的.ms文件删光了。。。接下来的操作是在被感染的.ms文件中检索一串字符,然后把它删了在保存。
可以看出这方法只是解决本机MAX内脚本被感染的问题,无法清洁已感染文件。再往后看才发现官方并没有给出解决办法,只是说你需要使用未感染的备份文件,或者把已感染文件提交给官方,他们会尽力帮你恢复。。。做游戏模型的基本只需要新建空档merge老模型就行了。
附max检测CRP方法:没装官方脚本时,打开任意max文件,F11打开max脚本监听,输入(globalVars.isGlobal #CRP_BScript),回车,返回false代表程序没感染,返回ture代表程序已感染,装过官方脚本后会病毒脚本不会运行,只返回false。
max文件检测方法:打开任意疑似感染max文件,F11打开max脚本监听,输入persistents.show(),回车,当出现以下时
#CRP_AScript
#CRP_BScript
#CRP_WriteAScript
#CRP_WriteBScript
代表文件被感染。
ALC就不细说了,脚本可以彻底清干净的。
这里还要说一下看贴时发现的另一个,虽然我没遇到。
3号“病毒”,代号:西山居
【病毒特征】
*:此病毒其实并非病毒,据说是金山公司(对,没错就是那个金山)某个游戏部的内部插件,可能用于结合3dmax与引擎的测试工作,每一步都需要交互传送数据。
不知怎么流传出来了,导致复制物体时异常卡。
【执行过程】
回调
【恶意程度】
分析暴露的代码为游戏正常脚本。
【解决办法】
1.3dmax根目录搜索propertyparameterslocal.mse,删掉他,重启MAX。
通俗一点来说,病毒出现的特征就是:CTRL+Z撤回崩溃,点击关闭按钮后,再点击“不保存”却自动保存文件,中毒后3DMAX主程序都会中毒,并感染其他MAX文件!
领取专属 10元无门槛券
私享最新 技术干货