☰
AutoCAD 病毒删了又来?acad.fas 反复复活的真正原因与彻底清除指南
2026/10/20 6:32:53 网站建设 项目流程

摘要

一台机器上杀毒软件(火绒安全)报出645 个风险项、全部处理完毕,结果重启 CAD 打开一张图纸,acad.fas又回来了。

这不是杀毒软件不行,而是我们对 AutoCAD 病毒的认知停在了"删掉 acad.fas"这一层。本文基于一次真实处置复盘,讲清楚三件事:

  1. 它凭什么能复活(自动加载机制)
  2. 为什么杀软杀了 645 个还是没用(三个盲区,其中一个是致命的)
  3. 怎样一次性清干净并长期免疫(含验证方法)

全文手动操作,不需要任何专杀工具。


一、先说结论

如果你只想看结论,记住这四句话:

结论说明
.fas是产物,不是源头删它没用,母体是.lsp加载器
杀毒软件看不到图纸内部本次 645 条风险里,没有一条是.dwg
AutoCAD 配置层完全在杀软视野之外启动组、支持路径、SECURELOAD,必须人工查
一个只读文件就能长期免疫只读的acaddoc.lsp+SECURELOAD=1

二、现象:一个典型的"治不好"病例

处置对象的症状很典型:

  • CAD 打开任何图纸,图纸目录下就冒出acad.fas;
  • 手工删除后,再开一张图,又出现;
  • 杀毒软件全盘扫描 6 小时,报出 645 个风险项,处理结果显示"已处理 645 / 645";
  • 然后——还是复发。

涉及文件统计:

文件名数量角色
acad.fas489编译后的病毒主体(删除后会被重新释放)
acad.vlx50同类编译体,常躲在系统目录
acaddoc.lsp28开图自动加载器,真正的母体
acaddoc.fas6蠕虫自我复制体

按盘符分布:C 盘 29 处(持久化母体)、D 盘 126 处、E 盘 490 处(传播载体)。

看到这个分布你就能明白:C 盘那 29 处是"根",D/E 盘那 616 处是"果实"。只摘果实不拔根,当然一茬接一茬。


三、原理:它凭什么能复活

3.1 AutoCAD 的自动加载机制

AutoCAD 在启动时和每次打开图纸时,会自动在"支持文件搜索路径"里查找并执行一批固定名称的脚本:

acad.lsp 启动时加载 acaddoc.lsp 每次打开图纸时加载 acadapp.lsp 老版本兼容项 acad.mnl 菜单配套 LISP

这是 Autodesk 为方便二次开发提供的正常能力。病毒做的事,就是把自己的代码写进这些文件。

于是形成闭环:

打开图纸 ↓ CAD 自动执行搜索路径里的 acaddoc.lsp ↓ 加载器调用 acad.fas(编译后的病毒体) ↓ 病毒向图纸目录、支持路径、系统目录重新释放 acad.fas ↓ (你删了 .fas,但加载器还在) ↓ 下次开图,重新执行 —— 闭环成立

3.2.fas与.lsp的关系

.fas是.lsp编译后的二进制形态(Fast-load AutoLISP)。它的两个特点决定了这个病毒难缠:

  • 反编译困难,杀软大多靠特征码识别,变种一出就漏;
  • 运行不依赖 CAD 版本,2006 到 2024 通吃。

所以正确的顺序是:先杀.lsp加载器,再清.fas产物。顺序反了就是白干。


四、为什么杀软杀了 645 个还是没用

这是本文最想讲的部分。复盘那次扫描,杀软的处理结果里藏着三个盲区。

盲区一:59 项"删除无法写入的文件"根本没删掉

查杀日志里有 59 条的处理结果是"删除无法写入的文件"——翻译过来就是:没删动。

集中在:

  • C:\Windows\system32\
  • C:\Windows\SysWOW64\
  • 各盘符的$RECYCLE.BIN(回收站)

系统目录被占用、回收站有保护机制,杀软删不掉就记为"已处理",但文件还在。这就是最硬的复发根因。

教训:看到"已处理 N/N"别高兴太早,要去看每一条的处理结果是什么。删除成功、清除代码、删除失败,是三件完全不同的事。

盲区二:DWG 图纸内部——最致命的一个

645 条风险里,没有一条是.dwg。

这说明杀毒软件压根没有检测图纸内部注入的恶意代码。而 AutoCAD 病毒最主要的传播方式,就是把加载代码嵌进 DWG 文件本身。

所以"打开一张新图又中招"的真相是:那张图自己带着病毒。你以为是新图,其实它是传染源。

这一层杀软帮不了你,必须单独处理(见第六阶段)。

盲区三:AutoCAD 配置层

杀毒软件管文件系统,不管应用程序配置。以下位置完全不在杀软视野内(可以用专杀工具如360cad专杀再手动检查):

位置检查内容
支持文件搜索路径是否被塞入陌生目录
启动组(Startup Suite)是否残留.fas/.vlx自动加载项
ApplicationPlugins目录自动加载插件包
SECURELOAD系统变量是否为 0(等于不设防)
受信任位置是否被添加过可疑路径

附带一提:历史归档是重灾区

这台机器上,E:\和D:\的历史归档目录里躺着 250 多个病毒副本——因为它长年从 U 盘拷图纸,每个图纸文件夹都跟着带一份acad.fas。

U 盘和外部图纸,是这类病毒在国内工程行业泛滥的根本原因。你的机器治好了,下次插一个带毒 U 盘,全部重来。


五、完整处置流程(八个阶段)

以下全部为手动操作,按阶段顺序执行。前三阶段必须在断网状态下做。

阶段 1:隔离与断链

  1. 关闭所有 AutoCAD 进程(任务管理器确认无acad.exe残留)
  2. 拔掉网线 / 禁用网卡,断开网络映射盘
  3. 拔出所有 U 盘和移动硬盘
  4. 先更新杀毒软件病毒库——本次复盘中,病毒库滞后了 3 周,这是漏杀的重要原因

阶段 2:取证留痕

  1. 导出本次查杀日志,保存为文本文件
  2. 记录:机器名、CAD 版本、已安装的二次开发插件(如理正、南方 CASS 等)
  3. 截图留存以下界面(后续要对照):
    • 支持文件搜索路径
    • 启动组内容
    • SECURELOAD当前值

阶段 3:清除母体(最关键)

按顺序检查并删除以下位置的可疑文件。注意:资源管理器要先"查看 → 勾选隐藏的项目",否则AppData看不到——这是本次处置中最容易漏的一步。

检查点位清单:

序号位置
1C:\Windows\system32\
2C:\Windows\SysWOW64\
3C:\Program Files\Autodesk\AutoCAD 20xx\Support\
4C:\Program Files (x86)\AutoCAD 20xx\(含Fonts\子目录)
5C:\Users\<用户名>\AppData\Roaming\Autodesk\AutoCAD 20xx\Rxx.x\chs\Support\
6C:\Users\<用户名>\AppData\Roaming\Autodesk\ApplicationPlugins\
7二次开发插件目录(理正GICAD、南方CASS等)
8桌面根目录

要找的文件名(别只找acad.fas,这些"非主流"名字才是漏网之鱼):

acad.fas acad.vlx acaddoc.lsp acaddoc.fas acad.lsp acadapp.lsp acad.mnl ai_utils.lsp acad.vlx_bak acad.fas.bak.bak

特别留意.bak后缀的备份副本,很多清理教程压根不提这两个,结果清完又长出来。

删不掉怎么办?系统目录里的文件可能提示"需要权限"或"文件正在使用":

  • 方法 A:重启进入安全模式再删
  • 方法 B:用 PE 启动盘启动后删除
  • 方法 C:用文件粉碎工具强制删除

阶段 4:清除产物

  1. 清空每一个盘符的回收站(注意:回收站是按盘符独立的,D 盘清了不等于 E 盘清了)。本次复盘中回收站里躺着 25 个活病毒
  2. 清理历史归档目录中的病毒副本
  3. 删除所有.bak备份副本
  4. 处理第三方来源的软件安装包——本次有 39 项启发式告警位于某个非官方渠道获取的软件目录,已单独处置

关于这一类告警多说一句:非官方渠道获取的软件,被报HEUR:类启发式告警属于常态,误报率不低;但被植入后门同样是高频真实事件。无论如何,不要为了继续使用它而把整个目录加入杀软白名单——白名单会连带放过真病毒,等于把门禁拆了。

阶段 5:配置层加固

5.1 检查支持文件搜索路径

CAD 命令行执行OPTIONS→ "文件"选项卡 → "支持文件搜索路径",逐条检查,删除不认识的目录。

5.2 检查启动组

命令行执行APPLOAD→ 点击"启动组"下的"内容",删除所有.fas/.vlx条目。

5.3 建立只读免疫占位(核心技巧)

在各个支持路径下放一个只读的acaddoc.lsp,内容只有一行:

(prompt "\nLoader OK.\n")

然后设为只读:

attrib +r "C:\Program Files\Autodesk\AutoCAD 20xx\Support\acaddoc.lsp"

原理:病毒的加载器想写入acaddoc.lsp时,会因为文件只读而写入失败。一个空文件,长期免疫。

5.4 开启 SECURELOAD

命令行执行:

SECURELOAD

将值设为1(推荐)或2。设为 1 后,CAD 只加载受信任路径下的程序,其他位置会弹窗询问。

阶段 6:图纸净化

这是杀软帮不了、必须自己做的一步。三种方案,按彻底程度排序:

方案操作适用场景
A. 专杀工具用 CAD 病毒专杀扫描图纸目录图纸量大,优先
B. 自带命令用已清干净的 CAD 打开图纸,执行AUDIT修复 +PURGE清理图纸量少
C. 整体迁移新建空白图,把内容整体复制过去,另存为新文件重要图纸,最彻底

阶段 7:验证

不要清完就以为结束了,必须做复发测试。

  1. 更新病毒库后再全盘扫一次,确认本次"删除失败"项为 0
  2. 全盘搜索上述文件名,确认结果为 0
  3. 连开 10 张曾经感染过的图纸,再搜一次,仍然为 0

只有第 3 步也通过,才算真的清干净。

可选的快速搜索命令(只读,不删除任何东西):

$names = 'acad.fas','acad.vlx','acaddoc.lsp','acaddoc.fas', 'acad.lsp','acadapp.lsp','acad.mnl','ai_utils.lsp' foreach ($d in 'C:\','D:\','E:\') { foreach ($n in $names) { Get-ChildItem -Path $d -Filter $n -Recurse -Force -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime } }

阶段 8:防复发

  1. 外来图纸和 U 盘,先查杀再打开——这是本次复盘最重要的结论(火绒自带功能)
  2. 历史归档目录建议离线冷存储,不再用 CAD 直接打开
  3. 拷过图纸的 U 盘本身大概率带毒,需单独查杀

六、复发时的排查顺序

如果按上述流程处理完仍然复发,按以下优先级定位:

优先级排查对象常见原因
1C:\Windows\system32等系统目录上次没删动
2各盘符回收站只清了系统盘,其他盘没清
3历史归档 / U 盘又从带毒介质打开了图纸
4图纸内部图纸本身带毒,未净化
5其他终端局域网内交叉感染
6只读占位丢失acaddoc.lsp被覆盖或删除

七、几个容易被忽略的细节

复盘时踩到的坑,列出来省得再踩一遍:

  1. AppData默认隐藏。不勾选"隐藏的项目",三个 CAD 版本的用户配置目录你根本看不见,清理必然漏。
  2. Fonts目录也会藏。病毒会往C:\Program Files\AutoCAD 20xx\Fonts\里放acaddoc.fas,很少有人想到去字体目录查毒。
  3. 二次开发插件各有独立支持路径。装了理正、南方 CASS 等插件的机器,每个插件目录都要单独查——本次 4 个 CAD 版本 + 2 个插件,共 6 套支持路径,漏一个就前功尽弃。
  4. 多个 CAD 版本要全部处理。你主要用 2018,但机器上装着的 2006 也能启动病毒。
  5. 回收站按盘符独立。这是最反直觉的一条。

八、写在最后

这类 AutoCAD 病毒技术上并不高明,它只是利用了三件事:AutoCAD 的自动加载机制、人们对"杀软已处理"的信任、以及 U 盘传图纸的工作习惯。

真正难的不是清除它,而是把所有隐藏的角落都找一遍。这次处置涉及 8 类检查点位、6 套支持路径、12 个文件名——这才是它"治不好"的真相。

如果你也被这个问题困扰,按第五节的八个阶段走一遍,重点别跳过阶段 3(母体)和阶段 6(图纸)。


注:本文数据均来自一次真实处置,涉及路径已做泛化处理,不含任何单位与个人识别信息。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询